gpt4 book ai didi

c - 在 C 中使用指针时一元运算符的放置

转载 作者:行者123 更新时间:2023-11-30 18:22:36 24 4
gpt4 key购买 nike

我正在尝试了解 C 中的指针,但不明白为什么在以下代码片段中将一元 * 运算符附加到单词“node”的末尾:

struct node* CopyList(struct node* head) {
/* code here */
}

根据我对指针的理解,可以使用如下语句创建一个指针

int *pointerName;

并使用类似的语句为其分配一个“pointee”

pointerName = malloc(sizeof(int));

然后使用如下语句取消引用指针

*pointerName = 4;

它将在由pointerName指针“指向”的4个字节内存(指针位置)中存储整数值4。

话虽如此,当 * 附加到单词末尾时意味着什么,就像

struct node*

???

提前致谢!

http://cslibrary.stanford.edu/103/

最佳答案

* 的位置忽略基本类型和变量名称之间的空格。即:

int* foo; // foo is pointer-to-int
int *bar; // bar is also pointer-to-int

在这两种情况下,变量的类型都是“pointer-to-int”; “pointer-to-int”是一个有效的类型。

有了这些信息,您可以看到 struct node*是一个类型,该类型是“指向节点结构的指针”。因此,最后整行

struct node* CopyList(struct node* head)

表示“CopyList 是一个函数,它采用指向 struct node 的指针(称为 head )并返回指向 struct node 的指针”

关于c - 在 C 中使用指针时一元运算符的放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17698445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com