浅析C语言中的指针
2013-02-01 23:21
141 查看
首先,运行如下代码
从结果中我们可以看到,*p为int类型的指针,在这个指针中,其物理地址为&p=2293572,而其物理地址中所存储的数据为int型变量a的物理地址,当对一个指针变量进行*运行时,相当于把这个变量中所存储的数据当作一个物理地址,并且取这个物理地址中的数据。
另外,如果把&p即p的物理地址赋值给指向指针的指针变量**q时,相当于对变量*q进行*运算,而其运行的结果为&p,由于**q=&p,即对*q所存储的数据所对应的地址取其中存储的数据,所以,即*q=p
#include <stdio.h> #include <stdlib.h> int main() { int a=1; int *p=&a; int **q=&p; printf("%d\n",a); printf("%d\n",&p); printf("%d\n",p); printf("%d\n",*p); printf("%d\n",*q); printf("%d\n",**q);//**q=*p=a=1,*q=p=&a=2293576,&p=2293572 return 0; }
从结果中我们可以看到,*p为int类型的指针,在这个指针中,其物理地址为&p=2293572,而其物理地址中所存储的数据为int型变量a的物理地址,当对一个指针变量进行*运行时,相当于把这个变量中所存储的数据当作一个物理地址,并且取这个物理地址中的数据。
另外,如果把&p即p的物理地址赋值给指向指针的指针变量**q时,相当于对变量*q进行*运算,而其运行的结果为&p,由于**q=&p,即对*q所存储的数据所对应的地址取其中存储的数据,所以,即*q=p
相关文章推荐
- C语言中常量指针与指针常量区别浅析
- C语言:浅析指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- 单片机C语言指针意义浅析—Keil-C51
- c语言数组与指针浅析
- 浅析C语言中指针与数组
- C语言--高级指针
- C语言编程艺术--C语言中Union类型与指针
- C语言指针拾遗
- C语言volatile类型浅析
- C语言中二重指针和指针数组以及数组指针的测试
- 深入理解C语言----函数调用过程浅析
- 【C语言】指针
- C语言指针【二】
- 深入理解C语言指针的奥秘
- 黑马程序员 C语言-----指针学习
- C语言之指针
- c语言指针传递说明
- c语言使用指针实现二叉树遍历
- 从一个简单的例子深入看待c语言指针
- 黑马程序员——黑苹果的视频笔记(9)——指针(C语言)