在很多情況下,陣列名和指標可以用相同的方法使用,但二者也有不同之處。
區別一:
指標的值可以修改,而陣列名是常量。
pointer_name = pointer_name + 1; // allowed
array_name = array_name + 1; // not allowed
區別二:
對陣列名應用sizeof運算得到的是整個陣列的長度,而對指標使用sizeof運算子得到的是指標的長度。
double numbers[3] = ;
double* pn = numbers;
a = sizeof(numbers);
b = sizeof(pn);
a的值是24,而b的值為4。
陣列名與指標區別
1 陣列名的內涵在於其指代實體是一種資料結構,這種資料結構就是陣列 2 陣列名的外延在於其可以轉換為指向其指代實體的指標,而且是乙個指標常量 3 指向陣列的指標則是另外一種變數型別 在win32平台下,長度為4 僅僅意味著陣列的存放位址!1 陣列名指代一種資料結構 陣列 現在可以解釋為什麼第1個程式...
陣列名與指標區別
魔幻陣列名 include int main int argc,char argv 1 陣列名不是指標 我們先來推翻 陣列名就是指標 的說法,用反證法。證明 陣列名不是指標 假設 陣列名是指標 則 pstr和str都是指標 因為 在win32平台下,指標長度為4 所以 第6行和第7行的輸出都應該為4...
陣列名與指標區別
魔幻陣列名 include int main int argc,char argv 1 陣列名不是指標 我們先來推翻 陣列名就是指標 的說法,用反證法。證明 陣列名不是指標 假設 陣列名是指標 則 pstr和str都是指標 因為 在win32平台下,指標長度為4 所以 第6行和第7行的輸出都應該為4...