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)'。 –