2012-09-07 148 views
2
typedef const char* Argv[3+ 8]; 

我在這一點上的猜測是[3+8]正在創建一個類型爲Argv的匿名數組(它的類型爲const char *)。如果我是對的,匿名數組部分基本上是毫無意義的。這個typedef究竟是什麼意思?

+0

正確。它與'typedef const char * Argv [];'相同或者更簡潔,'typedef const char ** Argv;'。 –

+2

@DavidHammen,我不會說'const char **'是一個完美的替代:http://liveworkspace.org/code/52a9cbdcc95968a9b2bf18e9488378f5 – chris

+1

@DavidHammen - 如果它在衰退的上下文中使用,則爲正確。有些情況下沒有。例如,'sizeof(Argv)'。 –

回答

7

它將Argv定義爲「11個常量char *的數組」的同義詞。

+1

數組8?爲什麼不是3 + 8 = 11? – jfritz42

+2

@ jfritz42 - 因爲我的算法被破壞了。謝謝。我會解決它。 –

0

相同

const char* somevar[11]; 

或IOW

Argv somevar; 
相關問題