gpt4 book ai didi

c - C 中的指针,了解差异

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

void noOfClients(struct noOfClients *q );

我知道指针的名称保存着变量的内存地址。

但是,当*带有指针时,它代表该位置的内容。

在上面的代码行中,当通过引用传递时,我们会说:

void noOfClients( &q);

但是为什么呢?

谢谢。

最佳答案

* 在变量/参数声明中使用时和用作指针取消引用运算符时具有不同的含义。

在变量/参数声明中,它将变量/参数声明为指针类型。

struct noOfClients *q

声明q为指向struct noOfClients的指针。

当在表达式中使用时,

*q

取消引用q指向的位置。

PS

void noOfClients( &q);

不是调用该函数的正确方法。只需使用:

noOfClients(&q);

如果将 q 声明为对象,那么这将起作用。

struct noOfClients q;
noOfClients(&q);

关于c - C 中的指针,了解差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38450286/

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