变长数组什么时候分配空间
变长数组什么时候分配空间
问:具有自动存储期限的变量在所在块开始时分配内存空间。这对于C99的变长数组是否也成立?
答:不成立。变长数组的空间不会在所在块开始执行时就分配,因为那时候还不知道数组的长度。事实上,在块的执行到达变长数组声明时才会为其分配空间。从这一方面说,变长数组不同于其他所有的自动变量。
问:具有自动存储期限的变量在所在块开始时分配内存空间。这对于C99的变长数组是否也成立?
答:不成立。变长数组的空间不会在所在块开始执行时就分配,因为那时候还不知道数组的长度。事实上,在块的执行到达变长数组声明时才会为其分配空间。从这一方面说,变长数组不同于其他所有的自动变量。