2012-09-07 40 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; 
相关问题