定义指针变量——>初始化指针变量——>使用(使用指针变量间接的存取内存单元的值) int *p = &a; 等价于 :int *p; p = &a; 指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。 1)定义同时初始化 a.完全初始化
int a = 10;
int *p = &a; //用a的地址初始化p这个指针变量,另一种描述方法:p指向了a int *p1 = &a,*p2 = &a //p1 p2都指向了a
b.部分初始化
int *p2 = &b,*p4;
p4 = &b;
2)先定义后初始化 int *p5;
p5 = NULL;
3)如果定义了一个指针变量,但是暂时不知道让这个指针指向谁 int *p4 = NULL; //NULL是空(0)
int *p5 = 0; //空
|