为什么这些指针差异导致不同的结果?

时间:2011-04-17 07:11:30

标签: c pointers struct typedef

假设我有一些typedef struct {int b;} some_t;和一个指针a到这样的结构。那为什么

(*a).b = 5;

不一样
some_t c = *a;
c.b = 5;

1 个答案:

答案 0 :(得分:5)

在第二部分中,c*a副本c.b(*a).b的副本。

c.b = 5修改副本,而不是原始副本。