欢迎来到 Guang-Wen Duan (Dennis Duan) 的个人 Wiki
C99引入了变长数组(variable length array)的概念。当typedef定义的类型涉及变长数组时,数组的大小在typedef定义时确定,而不是在使用typedef定义的类型时才确定。
例如:
#include <stdio.h> #include <stdlib.h> int main(void) { int n = 5; typedef int array[n]; n = 10; array a; (void) printf("%ld\n", sizeof(a)); exit(0); }
如果sizeof(int)=4,则结果输出为20,而不是40。