c語言之指標陣列理解一

2021-07-07 03:44:59 字數 871 閱讀 3632

直接給出demo和記憶體圖進行分析

//列印指標陣列

/*這裡為什麼要定義為二級指標:首先,陣列本身就是乙個一級指標,在加上定義的是指標陣列,也就是儲存的資料是指標,所以是二級指標

*/void printarrydata(char** arry, int cnt)

}//對指標陣列進行排序

void sortarrydata(char** arry, int cnt)

} }}void main();

//可以求出指標陣列arry所佔記憶體塊的總量

int totalsize = sizeof(arry);

//因為這是指標陣列,每個記憶體空間儲存的是指標,這裡可以求出每個記憶體塊的大小

int singlesize = sizeof(char*);

//這裡用總記憶體大小除以單個記憶體塊的大小,可以求出總共有多少個記憶體塊

int cnt = totalsize / singlesize;

//列印二級指標

printarrydata(arry, cnt);

printf("*****************************\n");

sortarrydata(arry, cnt);

printarrydata(arry, cnt);

system("pause");

}

執行結果:

記憶體分析圖:

c語言之陣列指標

在c語言裡,陣列就是指標,指標就是陣列,一維指標就是一維陣列,二維指標就是二維陣列。陣列名就是陣列的首位址,所以形參是陣列的時候,必須把陣列的個數也帶過去 陣列一般通過下標訪問,下標偏移就是位址偏移。可以把一級指標指向一維陣列的首位址。除此之外,指標比陣列更為靈活。陣列在定義的時候必須指定長度個數,...

C語言之指標陣列

指標數值是什麼,有什麼用?通俗的講,指標變數和普通變數的理解差不多,只不過是指標變數儲存的是變數的位址,而普通變數儲存的是值。指標在什麼時候會使用到 傳遞和偏移兩個環節中 使用指標應該注意的事項 使用指標之前應該對其初始化 初始化已經宣告的位址 指標不能賦值具體值 指標所代表的是位址,而不是具體值 ...

C語言之指標陣列

一.指標陣列 1.簡介 簡介 本質是乙個陣列,但是裡面存放的資料都是指標,即陣列元素都是指標。它是 儲存指標的陣列 的簡稱。2.內容格式 資料型別 陣列名 元素個數 例如 int a 4 的優先順序比我們的 的優先順序高,所以與我們的4先結合,形成了我們的陣列的定義,陣列名叫做a,我們平時定義陣列的...