所以我應該做一個程序,使用typedef命令在數組中存儲不同的車牌。我的朋友通過我的代碼,但我沒有真正得到他的解釋。這是他的代碼:Typedef陣列混淆
#include <iostream>
using namespace std;
typedef char string[8]
...functions functions...
int main(){
string license_plate[100]
...
我有點困惑剛纔發生在這裏。我知道typedef是關於什麼的,但從未真正在數組中看到它。從我的理解
typedef char string[8]
意味着,每當我寫string[8]
編譯器使得它成爲char
代替。
但是這對我沒有意義,爲什麼我會輸入[8]呢?所以我認爲這是他留下的一個錯誤,並刪除了[8],它編譯沒有錯誤。
所以我想問一下,是不是真的可以說我的修正string license_plate[100]
變得無非就是char license_plate[100]
給編譯器的眼睛呢?如果是這樣的話,爲什麼我只能輸入char license_plate[100]
來使用所有這一切呢?
要麼不要」不要使用名稱空間標準;(我建議)或不要命名你的類型字符串。記住有一個標準的字符串類'std :: string'。 –
你應該用這種方式制定問題http://stackoverflow.com/questions/ask/advice?有更多機會獲得答案。否則,'typedef'用於爲現有類型提供替代名稱。 – 2017-03-05 11:10:13