|
|
C/C++中结构成员运算符(.)和间接成员运算符(->)的运用 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
#include<stdio.h> int main(void) { int i=12; struct part_date_tag{ int month; }pp; struct part_date_tag *p; p=&pp; p=i; printf("%d\n",&p->month); getch(); }
#include<stdio.h> int main(void) { int i=12; struct part_date_tag{ int month; }pp; struct part_date_tag *p; p=&pp; p=i; printf("%d\n",&p->month); //因为前面的的赋值语句中是把实例的的地址赋给指针p的, //变量i的值赋给p是把数值存储在p在内存中的地址,在输 //出成员moth的结果时,程序就从地址中取出数据来,因此必须加上&符号 }
#include<stdio.h> int main(void) { int i=12; struct part_date_tag{ int month; }pp; struct part_date_tag *p; p=&pp; p->month=i; //直接把i赋给成员month printf("%d\n",p->month); //在输出时如果加上&符号,输出的就是month在内存中的地址了 getch(); }
#include<stdio.h> int main(void) { int i=12; struct part_date_tag{ int month; }pp; struct part_date_tag *p; p=&pp; (*p).month=i; //由于结构成员运算符(.)的优先级比间接运算符(*)高,因此 //必须用圆括号将指针括起来 printf("%d\n",(*p).month); //在输出时也可以写成printf("%d\n",&p->month); getch(); }

|
|
相关文章:相关软件: |
|