#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();
}
本文地址:http://com.8s8s.com/it/it25793.htm