<分区>
sizeof
运算符是一个编译时运算符,但在下面的程序中它会在运行时发生变化。
#include <stdio.h>
void func (int i) {
int a[i];
printf("%d \n", sizeof(a));
}
main() {
int i = 0;
while(i <= 5) {
func(i);
i++;
}
}
内存将在运行时分配。编译器如何计算没有结构填充的结构大小?