指针
指针也是变量,只不过其存储的是一个十六进制的地址,这个地址指向某一个变量.
&
: 取地址符
*
: dereference, 也可称为取值运算符
#include <stdio.h>
int main()
{
int a = 1;
printf("a=%d \n", a);
int *p = &a;
*p = 2;
printf("变量a的地址:%x \n", &a);
printf("指针p的地址:%x, 其存储的值为:%x \n", &p, p);
printf("指针改变a的值后:a=%d ,p的值仍为%x(仍指向a) \n", a,p);
return 0;
}
a=1
变量a的地址:5e634998
指针p的地址:5e634990, 其存储的值为:5e634998
指针改变a的值后:a=2 ,p的值仍为5e634998(仍指向a)
变量名相当于门牌号, 变量值相当于里面住的人, 变量名和变量值构成一一映射关系: 变量名->变量值
,我们在代码中操作的是变量值。
p就是变量a的地址,*p
就是a的值