有人可以解釋一下這些牽引線之間的區別是什么,以及我們什么時候想要使用每一個
int array[] = { 1, 2, 3 }; // init a regular array
int *numList = {1, 2, 3}; // init an array of pointers?
我預計可能會有我們想要使用第二個而不是第一個的,但是什么時候呢?
先感謝您
uj5u.com熱心網友回復:
你混淆了一些概念。正如@ikegami指出的那樣,您的第二行:
int *numList = {1, 2, 3};
被視為:
int *numList = 1;
這不是一個陣列,也不是一個有效的指標。如果要創建指標陣列,可以使用與普通陣列相同的語法,型別為指標:
int* numList[] = {
&array[0],
&array[1],
&array[2]
};
將創建一個包含 3 個 int 指標的陣列,指向原始陣列的元素。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/530139.html
標籤:数组C指针
下一篇:C中的printf:Speicherzugriffsfehler(Speicherabzuggeschrieben)核心轉儲
