C指针原理(15)-C指针基础
生活随笔
收集整理的这篇文章主要介绍了
C指针原理(15)-C指针基础
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
简单C指针
指向整数的指针,以及指针的指针
myhaspl@myhaspl:~ % vim test1.c#include <stdio.h>int main(void){int x;x=128;int *myp=&x;int **mypp=&myp;printf("x:%d\n",x);printf("myp:%u\n",myp);printf("mypp:%u\n",mypp);return 1;}上面程序定义了一个int型的整数,然后定义了2个指针,1个是myp,另1个是mypp。
myp和mypp都是指针变量,但指向的内容是不同的,myp指向x的地址,mypp指向myp的地址,通过myp可以找到x,而通过mypp则不能立即找到x,mypp先找到myp,然后再通过myp找到x,因此,mypp也称为指针的指针。
myhaspl@myhaspl:~ % makecc test1.c -o mytestmyhaspl@myhaspl:~ % ./mytestx:128myp:4294957796mypp:4294957784myhaspl@myhaspl:~ %通过解引用操作符*提取指针指向的内容。
myhaspl@myhaspl:~ % ./mytestx:128myp:4294957796mypp:4294957784*myp:128**mypp:128代码为
#include <stdio.h>int main(void){int x;x=128;int *myp=&x;int **mypp=&myp;printf("x:%d\n",x);printf("myp:%u\n",myp);printf("mypp:%u\n",mypp);printf("*myp:%d\n",*myp);printf("**mypp:%u\n",**mypp);return 1;}*myp提取的是x的内容
而**mypp提取的是也是x的内容
那么*mypp提取的内容什么呢
是myp指针变量本身的内容,即x的地址。
可修改上述程序验证一下
#include <stdio.h>int main(void){int x;x=128;int *myp=&x;int **mypp=&myp;printf("x:%d\n",x);printf("myp:%u\n",myp);printf("mypp:%u\n",mypp);printf("*myp:%d\n",*myp);printf("**mypp:%u\n",**mypp);printf("*mypp:%u-myp%u\n",*mypp,myp);return 1;}程序执行结果:看最后1行
myhaspl@myhaspl:~ % ./mytestx:128myp:4294957796mypp:4294957784*myp:128**mypp:128*mypp:4294957796-myp4294957796myhaspl@myhaspl:~ %总结
以上是生活随笔为你收集整理的C指针原理(15)-C指针基础的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: SpringMVC+uploadify文
- 下一篇: SVN提交时出现locked错误解决办法