(原文出处:http://www.basncy.com/2011-02-18001)
"->"与“."有什么区别呢?课堂上老师这样讲的:一个是地址,一个是引用。话是这么说了,具体怎么理解?而且放到C里面又应该怎么?至少直到现在,我也一直迷惑了两年。刚刚看到下面这段话,明白了。
运算符->是*和.的组合,先对node间接寻址,然后再选择结构成员value,即用node->value=10来代替(*node).value=10。(摘自《C语言程序设计:现代方法》)
所以->得到的应该是内存里的值,而不是地址,有这样的语句:scanf("%d",&node->value);对比int a;scanf("%d",&a)应该不难理解。
作者注:什么时候会用到(*node).value?请看以下代码:
struct teststruct{
int value;
struct *next;
}
struct teststruct *node;
node=(teststruct *)malloc(sizeof(struct teststruct));
(*node).value=10;
printf("%d",(*node).value);
free(node);
分享到:
相关推荐
灵活应用C语言中的 /--运算符
C语言课件-数据类型、运算符和表达式.ppt.ppt
C语言课件-数据类型、运算符、表达式.ppt
c语言基础 -运算符.pdf
C语言练习-运算符和表达式.pdf
c语言课件,数据类型运算符以及表达式powerpoint
C语言-第三章-运算符和表达式完整版资料.ppt
嵌入式系统开发人员C语言测试题--填空题(运算符与表达式)
C语言中,有哪些算术运算符
c语言程序设计教学资料第3章---运算符与表达式.ppt
运算符与表达式 基本形式: 变量=赋值表达式; 功能:计算表达式的值再赋予左边的一个变量。 赋值运算符具有右结合性。 赋值运算符左边必须是变量。 6-2 赋值运算符与赋值表达式 复合赋值运算符“+=,-=,*=,/=,%=...
dC语言运算符表C语言运算符表C语言运算符表C语言运算符表C语言运算符表C语言运算符表C语言运算符表
解析C语言中自增运算符问题.pdf
运算符与表达式 关系运算符,双目运算符,其结合性均为左结合。 6-3 关系运算符与关系表达式 关系表达式,是关系运算符将两个表达式连接起来的式子,结果为非“真”即“假”。 关系表达式的一般形式为: <表达式>...
C语言课件3.数据类型运算符与表达式.ppt
C语言的运算符与表达式.ppt
探讨C语言中自增、自减运算符.pdf
试析C语言中的自增自减运算符.pdf
C语言中的自增自减运算符
C语言表达式和算术运算符.ppt