书上说:“C语言是在编译阶段为数组开辟单元的”!
问题:1、定义在一个函数里的数组(auto型),不也是局部变量吗?局部变量不是在函数被调用或说是程序运行到函数时才分配内存的吗? 怎么变成编译时就分配了!
2、全局变量和静态变量是编译时开辟内存,若没有初始化,则程序自动赋零。对数组:若char a[10],这个数组没有赋初值;该数组在编译时是不是只开辟内存,初始化由程序员完成?!
3、“数组分为静态数组(在声明时已经确定子数组大小的数组)和动态数组(在程序执行过程可中改变数组的大小)”—这个是针对C语言来说的吗?那通常在C语言里定义的数组是属于哪种?如:int a[10] —这个数组大小固定了,可它是auto型还是static型?? 定义静态数组不用在前面加static关键字吗?“静态数组”不是应该存储在静态存贮区里的吗?我感觉这个数组还是存贮在栈中的啊!