函数体内和函数体外数组的初始化问题
来源:互联网 发布:类是爱情2只有我知第一 编辑:程序博客网 时间:2024/04/29 19:39
如果没有显式对数组提供元素初值,则数组元素会像普通变量一样初始化:
- 在函数体外定义的内置数组,其元素均初始化为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(){} 函数以内,是局部量,局部量编译器不自动作初始化,其值不确定,这也是编译器的规定。
0 0
- 函数体内和函数体外数组的初始化问题
- 一维数组的初始化问题(函数体内与函数体外)
- 构造函数初始化列表和构造函数体内赋值
- C++的const和引用只能在初始化列表里初始化而不能在构造函数体内赋值初始化
- 函数体内变量或数组的返回值
- extern关键字放到函数体内而导致的linkage问题
- 作为函数形参的数组,在函数体内,数组名仅仅是个指针
- 变量声明在循环体内还是循环体外的争论
- 关于自定义控件数组初始化函数的位置问题
- memset函数与二维数组初始化的问题
- C++学习笔记17,构造函数体内初始化数据成员与构造函数初始化器的区别(一)
- 为什么不能在函数体内部初始化一个由extern关键字标记的变量?
- 数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数
- 静态数据成员只能在类体外,且通过函数体进行初始化(静态数据成员是在程序编译时被分配空间的)
- 函数体外关系操作:跳转(*jmp)
- js跳出循环的方法区别(break,continue,return)区分函数体内和循环体内的区别
- memset函数 数组初始化
- memset函数初始化数组
- Android DrawerLayout抽屉效果
- SQL Server Profiler使用方法
- IT启程之路(防火墙和ftp的关系)
- 关于eclipse开发Android自动提示的设置
- 空类大小
- 函数体内和函数体外数组的初始化问题
- 继承viewgroup
- 关于求两个整数最大公约数的问题
- zookeeper原理
- Mysql学习笔记<1>数据库SQL
- va_start和va_end使用详解
- JAVA多线程框架
- 网站运营、优化分析的基本步骤
- C++ 虚函数表解析