标签: c pointers struct typedef
假设我有一些typedef struct {int b;} some_t;和一个指针a到这样的结构。那为什么
typedef struct {int b;} some_t;
a
(*a).b = 5;
与
some_t c = *a; c.b = 5;
答案 0 :(得分:5)
在第二部分中,c是*a的副本,c.b是(*a).b的副本。
c
*a
c.b
(*a).b
c.b = 5修改副本,而不是原始副本。
c.b = 5