b = a;這樣寫是錯誤的。前面說過,a 和 b 是陣列名,而陣列名表示的是陣列“第一個元素”的“起始地址”。即 a 和 b 表示的是地址,是一個常數,不能將一個常數賦給另一個常數。這種錯誤就類似於將 3 賦給 2,所以是錯誤的(關於地址現在先不討論,等後面講指標的時候再說)。
# include <stdio.h> int main(void) { int a[5] = {1, 2, 3, 4, 5}; int b[5]; int i; for (i=0; i<5; ++i) { b[i] = a[i]; printf("%dn", b[i]); } return 0; }輸出結果是: