菜鳥C 學習筆記 16 位址和指標

2021-06-07 19:08:40 字數 1330 閱讀 6757

#includeusing namespace std;

int main()

注意:不同的編譯器輸出的結果是不一樣的。

2、指標:用於直接對記憶體進行操作

定義方法:在指標變數前加星號"*",例如:

#includeusing namespace std;

int main()

{ int i=1;

int *p;//注意這個指標變數的型別是int

p=&i;//將i的位址取出賦給變數p

cout<

3、指標的一般用法:

1)空指標:

指標在定以後一般需要用它儲存乙個記憶體位址,如果不這麼做,就會成為迷途指標,可能指向任何位址,對該位址的數值進行修改或刪除,造成意想不到的後果,因此要養成乙個習慣:定義指標後直接初始化,即:

int *p=0;

這個指標稱為空指標,即把p儲存的記憶體位址清零。

2)指標的型別:

不同型別的變數,編譯器分配的記憶體大小有所區別,因此指標也分型別,只能儲存與它型別相同的變數的位址。

3)通過指標訪問並修改變數的值:

*p=2;
作用就是使得p所存位址的那個變數的值修改為2

4)位址指標&指標儲存的位址&位址值

其他兩個前面有過說明,通過下面程式說下三者的區別:

分析:第一行輸出變數i的位址,它在定以後系統就自動為其分配了記憶體空間,所以賦值後第四行輸出的這個位址仍然沒變;

第二行輸出p的位址,就是指這個指標*p所儲存的位址,在後面為p賦值為&i後,這個值就變成了i的位址;

第三行輸出的是指標位址,即"*p"這個指標自己的記憶體位址,因為記憶體也要給指標變數分配記憶體空間,故第六行位址仍然沒變。

4、指標的運算:

指標也可以進行相加、相減、自加、自減、比較的操作,只不過操作的資料都是指標儲存的位址罷了。

C語言基礎07 位址和指標

7.1位址和指標的概念 程式中只需指出變數名,無需知道每個變數在記憶體中的位址,每個變數與具體位址之間的聯絡由c編譯系統來完成。記憶體單元內容 printf d i 根據變數名與位址的對應關係,關係在編譯時就已經確定,找到變數i的位址,然後由位址開始的4個位元組中取出資料,即變數的值,把它輸出。將變...

IPV4位址學習筆記

ip位址由網路號和主機號組成。ipv4由32位正整數來表示。a類ip 8位網路號 24主機號,網路號以0開頭,網路號範圍0 127 b類ip 16位網路號 16主機號,網路號以10開頭,網路號範圍128.0 191.255 c類ip 24位網路號 8主機號,網路號以110開頭,網路號範圍192.0....

TCP IP學習筆記一 位址解析協議ARP初識

arp address resolutionprotocol,位址解析協議 是獲取實體地址的乙個tcp ip協議。某節點的ip位址的arp請求被廣播到網路上後,這個節點會收到確認其實體地址的應答,這樣的資料報才能被傳送出去。rarp 逆向arp 獲得它的邏輯ip位址。以下為個人的初理解 使用ipv4...