轉換:變數名其實是乙個符號位址,而變數的記憶體位址就是變數的實體地址(也叫指標)。程式編輯完後,通過編譯器,將符號位址(變數名)轉化為變數的實體地址,才能實現對變數(記憶體裡)的資料進行操作。
二、指標變數 p
作用:是用來存放普通變數位址(實體地址)的變數。換句話說,指標變數裡面的值就是位址。
&p: 這是指標變數的位址,二級指標變數存放一級指標變數的位址;**指標變數存放二級指標變數的位址。所以,二級指標變數的值就是一級指標變數的位址,**同理。
*p : *是取值運算子,*p表示指標變數指向的普通變數位址裡的內容(資料)。
小結:指標就是位址,位址就是指標
指標變數是乙個特殊的變數,因為它儲存的是普通變數的位址
如果指標變數p儲存了變數a的位址,那麼稱作p指向了a,此時,p就等同於變數a,對p的操作就會影響到a的值。
同一時間,乙個指標變數只能指向乙個普通變數的位址;但多個指標變數可以指向同乙個普通變數的位址。
例:int a=1;//定義整形變數並賦值
int *p=&a;//定義指標變數並賦值。p是int型別的指標變數,這裡儲存了a的位址。
printf("%d",*p);//輸出p指向變數的值,即a的值。
int **q;//定義二級變數
q=&p;//二級變數儲存的是一級變數在記憶體中的位址
printf("%d",q);//輸出一級指標變數p在記憶體中的位址
printf("%d",*q);//輸出一級指標變數p的值,即a的位址
printf("%d",**q);//相當於 *(*q),輸出a的位址裡的值,即1.
對TCP IP的淺顯理解
前段時間做了乙個開發,涉及到網路程式設計,開發過程比較順利,但任務完成後始終覺得有一些疑惑。主要是因為對網路協議不太熟悉,對一些概念也沒弄清楚。後來 我花了一些時間去了解這些網路協議,現在對tcp ip網路協議有了初步的認識,在這裡總結出來,可以梳理一下我對網路協議的理解,加深印象.話說兩台電腦要通...
對後端開發的淺顯理解
一直以來在學各種流行框架,比如spring全家桶啊,shiro啊,activiti,還有和各種中介軟體的整合 只管著學就完事兒了,但越學越迷茫,是時候做個階段性的總結了 後端開發在我的理解,是書寫跑在伺服器端的程式,保證伺服器能經受得起大量使用者的訪問,其本質就是對資料庫的crud,以下用mysql...
對wondows服務的淺顯理解(逐步加深)
windows service簡介 乙個windows服務程式是在windows作業系統下能完成特定功能的可執行的應用程式。windows服務程式雖然是可執行的,但是它不像一般的可執行檔案通過雙擊就能開始執行了,它必須有特定的啟動方式。這些啟動方式包括了自動啟動和手動啟動兩種。對於自動啟動的wind...