int a=6;
int* p; 定义一个指针
p=&a;p的指针存储a的地址
printf("%p",&a); 取a的十六进制地址,输出结果为a的地址
printf("%d",&a); 取a的十进制地址,输出结果为a的十进制地址
printf("%d",*p);解指针,输出结果是a的值
*也可作为解指针符
*p=5
printf("%d",p),输出结果为5
对p的修改将会作用到a上
p为指针,*p为常数,p即&a,即a的值
数据类型后的*仅用于定义指针
数组指针
定义一个数组 int c[3]={1,3,5};
printf("%d",c); 输出结果为c的地址
printf("%d",c); 输出结果为数组第一个数1
printf("%d",(c+1));访问指针下一位的地址并解指针
int* h=c+1;访问c首位的地址并赋到h
printf("%d",*h)解指针