當(dāng)前位置:
首頁(yè) >
C指针原理(15)-C指针基础
發(fā)布時(shí)間:2025/3/12
14
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C指针原理(15)-C指针基础
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)單C指針
指向整數(shù)的指針,以及指針的指針
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;}上面程序定義了一個(gè)int型的整數(shù),然后定義了2個(gè)指針,1個(gè)是myp,另1個(gè)是mypp。
myp和mypp都是指針變量,但指向的內(nèi)容是不同的,myp指向x的地址,mypp指向myp的地址,通過(guò)myp可以找到x,而通過(guò)mypp則不能立即找到x,mypp先找到myp,然后再通過(guò)myp找到x,因此,mypp也稱為指針的指針。
myhaspl@myhaspl:~ % makecc test1.c -o mytestmyhaspl@myhaspl:~ % ./mytestx:128myp:4294957796mypp:4294957784myhaspl@myhaspl:~ %通過(guò)解引用操作符*提取指針指向的內(nèi)容。
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的內(nèi)容
而**mypp提取的是也是x的內(nèi)容
那么*mypp提取的內(nèi)容什么呢
是myp指針變量本身的內(nèi)容,即x的地址。
可修改上述程序驗(yàn)證一下
#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;}程序執(zhí)行結(jié)果:看最后1行
myhaspl@myhaspl:~ % ./mytestx:128myp:4294957796mypp:4294957784*myp:128**mypp:128*mypp:4294957796-myp4294957796myhaspl@myhaspl:~ %總結(jié)
以上是生活随笔為你收集整理的C指针原理(15)-C指针基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringMVC+uploadify文
- 下一篇: SVN提交时出现locked错误解决办法