直接給出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,我們平時定義陣列的...