C++的原生数组是什么
导读:本文共1509字符,通常情况下阅读需要5分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 1.数组1.1 数组的声明格式1.1.1. 格式一数据类型 数组变量名称[数组元素个数]{初始化值, 初始化值...}inta[10]{};1.1.2. 格式二变量类型 数组名[]{初始化, 初始化...}inta[]{1,2,,3};//编译器会自动将a声明为一个有3个元素的数组1.2.数组的本质数组的本质是按照所申请的数据类型,向操作系统申请了一段连续的内存... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。1.数组
1.1 数组的声明格式
1.1.1. 格式一
数据类型 数组变量名称[数组元素个数]{初始化值, 初始化值...}
inta[10]{};
1.1.2. 格式二
变量类型 数组名[]{初始化, 初始化...}
inta[]{1,2,,3};//编译器会自动将a声明为一个有3个元素的数组
1.2.数组的本质
数组的本质是按照所申请的数据类型,向操作系统申请了一段连续的内存空间。两个特征:
连续的有序的
2. 数组遍历
2.1. 常规
intstudentId[]{101,102,103,104,105,106}; //数组遍历 for(inti=0;i<sizeof(studentId)/sizeof(int);i++) std::cout<<studentId[i]<<std::endl;
2.2. C++ 11 遍历新语法
2.2.1. 格式一
for(变量类型 变量名称:数组)
循环内容;
for(inti:studentId) std::cout<<i<<std::endl;//i不再是索引,而是数组内的元素;
2.2.2. 格式二
for(auto 变量名称:数组)
循环内容;
for(autoi:studentId) std::cout<<i<<std::endl;//i不再是索引,而是数组内的元素;
3. 多维数组
3.1 多维数组的本质
3.2. 声明格式
类型 变量名称[元素个数][元素个数]...[元素个数]{};
intstudentId[3][5]{};
多维数组的初始化:
intstudentId[3][5]{{101,102,103,104,105,106},{201,202,203,204,205,206},{301,302,303,304,305,306}};
3.3. 多维数组的遍历
intstudentId[3][5]{ {1,2,3,4,5}, {11,12,13,14,15}, {21,22,23,24,25} }; for(intx=0;x<3;x++) { intcount{}; for(inty:studentId[x]) { count++; std::cout<<x+1<<"班第"<<count<<"个同学的学号是"<<y<<std::endl; } }
4. 数组安全
由于数组的本质是向操作系统申请了一块内存,因此越界的数组将会访问到不该访问的地址,这种越界将会造成程序奔溃,BUG,错误,更可怕的是,数组越界漏洞,可能会让攻击着拿到操作系统的控制权。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
C++的原生数组是什么的详细内容,希望对您有所帮助,信息来源于网络。