结构指针及其用法

时间:2014-01-28 08:45:08

标签: c pointers struct

这句话在C中的含义是什么?

其中fag是结构,其指针是pat

fag *pat = &h.device[d];
d = (pat - &(h.device[0]))/(sizeof(fag)) ;

2 个答案:

答案 0 :(得分:4)

fag *pat = &h.device[d];

获取所述数组的d元素的地址。

它可以用来方便访问它。

如果我这样做

d = (pat - &(h.device[0]))/(sizeof(fag));

在我无权访问原始d的情况下,我得到了所述数组中给定条目的索引。

从“我们的”指针到原始指针的区别。

如果我看对了,sizeof fag的除法是错误的 - 区别在于fag大小。此外,&(h.device[0])h.device完全相同,所以

d = pat - h.device;

应该是正确的。 (Thank you, WhozCraig.

答案 1 :(得分:0)

结构指针的一种可能用途可能是,如果要更改函数中结构的成员,则必须传递结构的地址。