當前位置:
首頁 >
C指针原理(15)-C指针基础
發布時間:2025/3/12
25
豆豆
生活随笔
收集整理的這篇文章主要介紹了
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错误解决办法