一级指针
- 存放地址的变量称为指针变量,指针变量是一种特殊的变量。
- 一般变量存放的是数据本身,指针变量存放的是数据的地址。
int a = 1 ; //普通变量
int *p = NULL ; //一个指向空的int类型的指针变量
p = &a; //将a的地址存放在p中,即将p指向a
int b = 10 ;
int *q = &b ; //与上等价,即声明一个指针q并指向b
//*p表示访问指针变量p指向的存储空间
*p=2 //即将a的存储空间的1改变为2;
- p 是一个指针变量的名字,表示此指针变量指向的内存地址
- *p 表示此指针指向的内存地址中存放的内容
- &p 就表示编译器为变量p分配的内存地址
- 当指针p指向变量a时,p的值为a的地址;*p的值为a存储的值;&p为p的地址
二级指针
/*指向指针的指针*/
int a = 1 ; //a为普通变量
int *b = &a; //b为一级指针,b的值是a的地址
int **c = &b //c为二级指针,c的值是b的地址
// *c = &b ,*c相当于简介访问b