1指针:变量的地址
2指针变量的定义:
(1)
int a;
int *p=&a;
(2)
int a;
int p;
p=&a;
注意点同时定义多人指针的正确写法:
int p.;
3去指针变量所对应的存储空间里的值
int a=9;
int啊=&a;
*p=7;
printf("a=%d\a",a);//输出a=7;
结论:通过指针变量间接改变了a里面的值
4 const的运用
(1)线面的写法效果是一样的,都是指a里面的值制度不可写
int const a;
const int a;
(2)int a=9;
const int *p=&a;//int *const p=&a;
p=&b;//这句话是错的
结论:说明p里面本身的只读,不可写
5 野指针:
定义:一个指针定义出来,没有赋值
下面的写法是非法的
int p;
printf("%d\n"p);//分析:因为*p就意味着去取p所对应的存储单元里面的内容,由于p里面没有地址,但是系统有可能会为他附上一个随机的地址
6 空指针:
定义:一个指针变量里面的值为NULL;NULL在数值上就等于0,"\0"在数值早上也=0;
int p=NULL;
printf("%d\n"p);//这种写法会崩
7 多级指针
(1)二级指针
int *p=&a;
int **q=&p;
二级指针:指针的指针,存储一级指针变量的地址
多级指针;:存储n-1级指针变量的地址