gpt4 book ai didi

c - `->` 和 `.` 访问结构成员有什么显着差异吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:24:58 24 4
gpt4 key购买 nike

虽然对于那些熟悉 C 及其细微差别的人来说,这可能非常显而易见,但我对两者都不熟悉,无法判断是否有任何重要使用 ->. 访问结构成员的区别。

如果我有struct my_struct:

struct my_struct {
int x;
int y;
};

struct my_struct grid;

除了不同的语法之外,我是否通过 grid.x网格->x?如果有区别,我应该更喜欢哪一个?

尝试搜索 google/SO,但我没有找到任何提到首选方法(如果有的话)的内容。两者似乎都是正确的,但我不禁觉得其中之一 (->) 有更专业的用例。

最佳答案

这取决于结构的声明方式。如果我们有一个实际的结构变量,请使用 .。如果我们有一个指向结构的指针,请使用 ->:

struct my_struct *s = ...;
s->x = 5;
printf("%d\n", s->x);

struct my_struct s2 = ...;
s2.x = 4;
printf("%d\n", s2.x);

关于c - `->` 和 `.` 访问结构成员有什么显着差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23305541/

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