自己總結的幾點關於C中經常容易出錯的數組知識點:
1 聲明數組後,比如 int a[3], 那麼通過typeid(a)得到:a的類型爲int [3].
2 聲明int a[3], 那麼a的內涵可以理解爲指向int變量的一個地址(int *),但是這個地址是不能被修改的!可以理解爲a 實際是一個const int *,被隱含轉爲了int *======>a的類型爲int [3],其含義是const int *;
由此,聲明下面語法不合法:
char a[3];
a="mn";
因爲a聲明之後,是const變量,是不能修改的。
當然,如果僅僅想讓a也指向字符串“mn”,可以調用函數strcpy(a,"mn");
char* strcpy(char *dest, const char *source);
直接調用typeid("mn")得到 “mn”的類型爲const char [3].,其含義是const char*,可以帶到strcpy()函數中。