gpt4 book ai didi

c - 将结构体指针作为参数传递给 C 中的函数

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

当将指向struct的指针作为参数传递给函数时,在printf<中使用括号(*t).name有什么意义?/.

我对 (*t).name*(t).namet.name 之间的区别感到困惑>.

typdef struct{
const char *name;
}phone;

void update(phone *t){
printf("Name %s!,(*t).name);
}

最佳答案

该函数不采用struct 作为参数,它采用指向该结构的指针。为了使用指针,您必须取消引用它,*ptr 用于取消引用指针以访问它指向的对象。

(*t).name

相当于:

t->name

这是更常见的编写方式。

t.name

无法使用,因为 t 不是结构体,而是指针,并且 . 只能与结构体一起使用。

*(t).name

是错误的,因为 . 的优先级高于 *,因此它相当于:

*(t.name)

我建议您返回到教科书或教程,并重新阅读有关指针的章节。

关于c - 将结构体指针作为参数传递给 C 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42614019/

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