可能重复:
C 中的箭头运算符 (->) 用法
我试图找出“。”之间的区别。和“->”C 语言中的数据访问样式。例如。
struct div{
int quo;
int rem;
};
1)使用“->”
struct div *d = malloc(sizeof(struct div));
d->quo = 8/3;
d->rem = 8%3;
printf("Answer:\n\t Quotient = %d\n\t Remainder = %d\n-----------\n",d->quo,d->rem);
2)使用“。”
struct div d;
d.quo = 8/3;
d.rem = 8%3;
printf("Answer:\n\t Quotient = %d\n\t Remainder = %d\n-----------\n",d.quo,d.rem);
对于这两种情况,我得到相同的输出。
答案:商 = 2 余数 = 2
这两种方法在内部如何运作?什么时候应该使用哪一个?我尝试在互联网上搜索它,但没有太大帮助。任何相关链接也表示赞赏。
它们在内存中的存储也有什么区别吗?