typedef const char* Argv[3+ 8];
我在這一點上的猜測是[3+8]
正在創建一個類型爲Argv的匿名數組(它的類型爲const char *)。如果我是對的,匿名數組部分基本上是毫無意義的。這個typedef究竟是什麼意思?
typedef const char* Argv[3+ 8];
我在這一點上的猜測是[3+8]
正在創建一個類型爲Argv的匿名數組(它的類型爲const char *)。如果我是對的,匿名數組部分基本上是毫無意義的。這個typedef究竟是什麼意思?
它將Argv
定義爲「11個常量char *的數組」的同義詞。
數組8?爲什麼不是3 + 8 = 11? – jfritz42
@ jfritz42 - 因爲我的算法被破壞了。謝謝。我會解決它。 –
相同
const char* somevar[11];
或IOW
Argv somevar;
正確。它與'typedef const char * Argv [];'相同或者更簡潔,'typedef const char ** Argv;'。 –
@DavidHammen,我不會說'const char **'是一個完美的替代:http://liveworkspace.org/code/52a9cbdcc95968a9b2bf18e9488378f5 – chris
@DavidHammen - 如果它在衰退的上下文中使用,則爲正確。有些情況下沒有。例如,'sizeof(Argv)'。 –