函数体内和函数体外数组的初始化问题
2014-08-19 15:54
197 查看
如果没有显式对数组提供元素初值,则数组元素会像普通变量一样初始化:
在函数体外定义的内置数组,其元素均初始化为0;
在函数体内定义的内置数组,其元素无初始化;
不管数组在哪里定义,如果其元素为类类型,则自动调用该类的默认构造函数进行初始化。
举个例子:
分析:
在函数体外定义的内置数组,其元素均初始化为0;
在函数体内定义的内置数组,其元素无初始化;
不管数组在哪里定义,如果其元素为类类型,则自动调用该类的默认构造函数进行初始化。
举个例子:
string sa[10]; int ia[10]; int main() { string sa1[10]; int ia1[10]; }
分析:
string 是 “类” (英文叫 class),string sa[10]; string sa1[10]; 是string类的 对象,自动 调用string类的默认构造函数,各元素初始化为空字符串。 int ia[10]; 在 main(){} 函数以外,是全局量,全局量自动初始化 为0,这是编译器的规定。 int ia1[10]; 在 main(){} 函数以内,是局部量,局部量编译器不自动作初始化,其值不确定,这也是编译器的规定。
相关文章推荐
- 一维数组的初始化问题(函数体内与函数体外)
- 【java基础】引用类型数组初始化中,setter和getter函数空指针问题
- Java对象数组初始化与NullPointerException问题
- Java对象数组初始化与NullPointerException问题
- 数组初始化容易产生的问题
- 约瑟夫环问题的 PHP 实现--使用 PHP 数组内部指针操作函数
- 关于结构体数组初始化的问题--深入举例
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。问题的解决方法!
- 初始化动态分配的数组问题
- 数组作为函数形参时应注意的问题
- 函数的数组参数问题
- 约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
- 引用初始化、左值右值、函数数组参数
- javascript 定义初始化数组函数
- 数组的初始化问题
- QP实现之函数指针数组无法获取正确地址的问题
- Java对象数组初始化与NullPointerException问题
- 数组名、数组名取地址以及作为函数传递带来的问题
- perl 函数参数中传递数组和引用的一些问题
- 常成员变量数组初始化的问题