程序
#include <stdio.h>
定义一个结构体
typedef struct {
int a;
int b;
}T_AB;
{
char c;
int a;
T_AB tTest;
int *p;
int **pp;
/* 1. */
p = &a; //将a的地址赋给p变量
printf("p = 0x%x, a'addr = 0x%x\n", p, &a);
/* 2. */
*p = 0x12345678; //给p所指向的变量赋值0x12345678
printf("a = 0x%x\n", a);
/* 3. */
p = &c; //将c的地址赋值给p变量
printf("p = 0x%x, c'addr = 0x%x\n", p, &c);
/* 4. */
*p = 'A'; //给p所指向的变量赋值'A'
printf("c = %c\n", c);
/* 5. */
p = &tTest; //将tTest的地址赋值给p变量
printf("p = 0x%x, tTest'addr = 0x%x\n", p, &tTest);
/* 6. */
*p = &tTest; //将tTest的地址赋值给p变量所指向的地址,就是把tTest的地址赋值给tTEST
printf("tTest.a = 0x%x, tTest'addr = 0x%x\n", tTest.a, &tTest);
/* 7. */
pp = &p; //将p变量的地址赋值给pp变量
printf("pp = 0x%x, p'addr = 0x%x\n", pp, &p);
/* 8. */
**pp = 0xABCD1234; //将0xABCD1234赋值给tTest.a
printf("tTest.a = 0x%x\n", tTest.a);
return 0;
}
运行结果
p = 0xbf976c48, a'addr = 0xbf976c48
a = 0x12345678
p = 0xbf976c4f, c'addr = 0xbf976c4f
c = A
p = 0xbf976c38, tTest'addr = 0xbf976c38
tTest.a = 0xbf976c38, tTest'addr = 0xbf976c38
pp = 0xbf976c44, p'addr = 0xbf976c44
tTest.a = 0xabcd1234