传智播客视频学习 ---->>>> 指针 int *p, p是什么,&p是什么,*p是什么
int *p = NULL;
p:指针p所指向的内存的地址
*p:指针p所指向的内存地址的值
&p:指针p的地址
1 #ifndef _CODE_POINTER_DEMO01_H_ 2 #define _CODE_POINTER_DEMO01_H_ 3 4 #include <stdlib.h> 5 #include <string.h> 6 #include <stdio.h> 7 8 int main(){ 9 10 int a = 10; 11 12 char *p1 = NULL; 13 14 char **p2 = NULL; 15 16 p1 = 0x111111; 17 p2 = 0x222222; 18 19 p1 = &a; 20 21 printf("p1 = %d, &p1 = %d, *p1 = %d \n", p1, &p1, *p1); 22 printf("a = %d, &a = %d \n", a, &a); 23 24 // 直接修改 p1 的值 25 p1 = 0x111112; 26 27 printf("p1 = %d \n", p1); 28 29 // 间接修改 p1 的值 30 p2 = &p1; // 将 p1 的地址 赋给 p2 31 32 *p2 = 100; // 间接赋值,p2 是 p1 的地址 33 34 printf("p1 = %d \n", p1); 35 36 return 0; 37 } 38 39 #endif // _CODE_POINTER_DEMO01_H_