我宣布了一个像这样的二维数组:
char *array[][3] = { {"a", "b", "c"}, {"d", "e", "f"}, {"u", "v", "w"}, {"x", "y", "z"}};
我如何找到第一个维度?
示例:*
#includeint main(void) { int array[4]; printf("%zd\n", sizeof array / sizeof array[0]); printf("%zd\n", sizeof (int)); printf("%ld\n", (long)(sizeof array / sizeof array[0])); return 0; }
type-name
,则需要parens ,即使sizeof
操作符不是函数.但是每个type-name
出现在C语法中的地方(声明者都没有使用那个作品)那么就需要在它周围使用parens.因为没有一个类型名称中,括号中使用的各种C语言规格的半正式语法一个独立的生产,他们指定定义的东西,如生产所需的括号sizeof
,generic-associations
和cast-expressions
.但是那些parens确实存在,以便能够解析表达式语法中的类型.它们是你可能称之为"类型表达式"的语法的一部分,但考虑到这些东西的使用有限,它们实际上并没有任何这样的产生或术语.