结构名称结尾的*运算符与结构名称前面的*运算符有什么区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构名称结尾的*运算符与结构名称前面的*运算符有什么区别?相关的知识,希望对你有一定的参考价值。

我正在遵循链表的C教程,并且正在构建节点。但是,我不明白为什么*运算符出现在节点变量的末尾而不是它的前面。我以为指针就在单词的前面。那么哪个指针呢? “下一个”还是“节点”?

struct node {
    int value;
    // next pointer, should point to the next node in the list
    struct node* next; // pointer of structure type
};

谢谢。

答案

struct node是类型,因此它排在前面,就像int* num,仅在这种情况下,类型int仅是一个单词。

另一个提示是变量名只能有一个单词。

因此struct node*(指向结构节点的指针)是类型,next是变量的名称。

See here

以上是关于结构名称结尾的*运算符与结构名称前面的*运算符有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

GO语言struct语法

Go 语言之 struct 结构体

el 表达式的基本用法

Go编程基础-学习2

过程与算法(用算法解决实际问题的能力)

数据结构和算法-一元多项式运算算法(加法)