C語言指標

2021-09-12 17:31:22 字數 1116 閱讀 2584

int a = 65;           假設存放a的記憶體首位址為:0x0012ff7c。輸出位址可用:「%p」

addr = 0x0012ff7c; 0x代表十六進製制,把a的位址賦值給addr

&a 0x0012ff7c printf("0x%p");

addr 0x0012ff7c printf("0x%p");

&addr 0x0012ff7c printf("0x%p");

(int*)addr 0x0012ff7c printf("0x%p"); addr裡面裝的是整數,這個整數恰好是位址,強制轉換

a 65 printf("%d");

*&a 65 等價於a printf("%d");

*&addr 0x0012ff7c 等價於addr printf("0x%p");

*(int*)addr 65 等價於a printf("%d");

2、指標占用的記憶體大小都是4位元組,位址都可以理解為乙個整數。

3、關於 * 號的位置

int *a;

int* a;

int * a;

三者等價,為了便於理解,我推薦挨著變數寫,即第一種

例如 int* a,b,c; 其實是 int *a,b,c;

不是 int *a,*b,*c; 而 是 int b,c,*a;

4、結構體的指標

struct part;

struct part p[3]; 理解為 int p[3];

struct part *p1; 理解為 int *p1;

p1 = p[0]; p1 = p[1]; p1 = p[2];

(*p1).number; 利用指標求結構體成員的內容

等價於p1->number;

5、指標移動:

關於儲存順序和位址降序 

C語言指標

指標變數是包含記憶體位址的變數,它指向記憶體中的一塊區域,通過指標的值,可以間接訪問到相應的記憶體單元的資料,並做相應的修改。1 指標的定義和簡單使用 定義乙個指標變數和定義一般的變數類似,只需在變數名前面加乙個 對乙個指標變數賦值可以用取位址符 來獲取到乙個變數的位址,如果要獲得指標指向的記憶體區...

C語言指標

1 定義指標變數void change int n 格式 變數型別 變數名 定義了乙個指標變數p 指標變數只能儲存位址 指標變數p前面的int 指標變數p只能指向int型別的資料 int main void change int n 2 指標與陣列 陣列名其實質是乙個指標,但是它和普通的指標變數還是...

c語言指標

編寫程式,在主函式裡用指標陣列輸入六個字串,再用另乙個函式對這六個字串排序,並在主函式中輸出排好序的字串。include void sort char s,int n char temp for int i 0 ifor int j 0 jif strcmp s j s j 1 0 temp s j...