变长数组 ?
一直以来,我都非常确定,定义数组时,数组的大小必须是常数。
然而,今天实际测试发现,居然可以是变量!
直到现在,我仍然无法相信这是真的。
这个世界太疯狂,怎么会这样?
#include <stdio.h>int main(int argc, char *argv[]){ char *att[argc]; int i; for(i=0; i<argc; i++) { att[i] = argv[i]; printf("att[%d]: %s\n",i , att[i]); } printf("sizeof: %d\n", sizeof(att)); return 0;}