【C语言-14】数据的门牌号——指针
1、打开C-Free,新建文件。
2、输入以下内容:
#include<stdio.h>
main()
{
int a=2,b=5,*pa;
printf("%d,%d\n",a,b); //输出a,b的值
printf("%d,%d\n",&a,&b); //输出a,b的地址
pa=&a; //把a的地址记录到pa中
printf("%d\n",pa); //输出pa记录的地址是多少
printf("%d\n",*pa); //输出记录在地址pa中的数据是多少
printf("%d\n",pa+1); //输出pa后一个地址是多少
printf("%d\n",*(pa+1)); //输出pa后一个地址中的数据是多少
*pa=8; //把pa中的值换为8
printf("%d\n",a); //输出a的值
}
3、运行结果:
1、指针是什么?指针就是是一个特殊的变量,在声明时需要加上*。
int *p;即声明一个指向int型变量的指针*p;
float *p;即声明一个指向float型变量的指针*p;
…… ……
2、&是取地址运算符,&a通俗地说就是a的门牌号。
例中printf("%d,%d\n",&a,&b);就是输出a,b的门牌号。
3、接下来pa=&a;就是把a的门牌号码记录到pa中,&a便代表a的门牌号,pa便是一个记录着门牌号的变量。
4、当我们知道了门牌号,要根据门牌号找人时,便需要间接访问运算符*,例中即在pa前加*,这样一来*pa便代表住在pa地址的人。
5、指针是个变量,也是可以加减的,如:*(pa+1)即代表住在pa傍边的人。例中是b。
6、当然,我们也可以给某个地址一个指定的数。例中*pa=8;即将住在pa里的人指定为8.