c - typedef 结构中的指针
问题描述
我遇到了 C 语言的堆栈教程,我似乎无法理解*Stack
指针指向的内容或*next
指针。我只想快速解释一下这两个指针的实际指向。
typedef struct StackElement
{
int value;
struct StackElement *next;
}StackElement, *Stack;
解决方案
两者都没有指向您给出的示例中的任何内容。这段代码只是结构类型本身的声明。您可以将 typedef 分解为更简单的形式:
struct StackElement
{
int value;
struct StackElement *next;
};
typedef struct StackElement StackElement;
typedef struct StackElement *Stack;
也就是说,有一个结构本身的声明,其中包含一个next
要被这个堆栈的实现代码使用的字段。该字段在填写后将指向另一个struct StackElement
结构。
这些typedef
部分只是方便命名 -StackElement
可以用来代替struct StackElement
,Stack
也可以用来代替struct StackElement *
。
推荐阅读
- python-3.x - 使用 TextClip Moviepy 镜像阿拉伯字母
- arrays - MIPS 数组 来自用户的输入
- python - 问题:“名称'_eval_expr'未定义”即使它应该是
- tensorflow - tf.keras.layers.DenseFeatures 的使用
- javascript - 如何在请求中发送表单数据 arr[]:value arr[]:value1 arr[]:value2
- arrays - 在两个不同的类之间传递数据并保存
- python - 在 Python 中的运算符重载概念中使用 while 循环限制用户仅输入整数
- java - 打印迷宫中的路径
- python-3.x - 如何将线图添加到熊猫中的堆积条形图
- flutter - 通过 MaterialPageRoute 路由时未加载 Flutter Page 的数据,但 Hot Reloading 正确加载数据?