C语言之指针学习1
首先如何定义一个指针,其一般形式为:类型标识符 * 指针变量名。例如:
int *p;
char *a;
double *c;
float *d;
在上面的例子中int *p代表的p是指向int类型的指针变量。
指针变量所存储的是需要访问的空间地址,但作为一个变量,指针变量也有自己的地址。这里要注意的是在int p中p是存地址数据的,而不是p。这了举一个例子代码如下:
int a = 10;
int *p;
p = &a;
printf("%p\n",&a);
printf("%p\n",&p);
printf("%p\n",p);
printf("%d\n",*p);
return 0;
这里定义一个int类型的a,和一个in类型的p,把a的地址赋给p,然后输出a的地址,p的地址,p的值,*p的值。代码结果如下:
0x7ffe2557766c
0x7ffe25577670
0x7ffe2557766c
10
结果可以发现p的值就是a的地址,而*p则是a的地址所对应的值。因此在非声明状态下 * 可以代表解地址的意思。