当前位置: 首页 > news >正文

(7)c++复合数据类型之数组

数组

        数组就是可以存储一组相同类型的值,比如int  a[10];就是一个存储10个int类型的数组。

数组初始化

        数组初始化可以单个初始化,也是使用列表初始化,列表初始化可以全部,或者部分,如下案例:

#include <iostream>
int main(void){using namespace std;   int a[10];// 单个初始化a[0] = 10;a[1] = 9;cout << "array index 0:" << a[0] << endl;cout << "array index 1:" << a[1] << endl; cout << "array index 2:" << a[2] << endl; cout << "array index 3:" << a[3] << endl; cout << "array index 4:" << a[4] << endl; cout << "array index 5:" << a[5] << endl; cout << "array index 6:" << a[6] << endl; cout << "array index 7:" << a[7] << endl; cout << "array index 8:" << a[8] << endl; cout << "array index 9:" << a[9] << endl; // 列表初始化cout << endl;int b[10] = {1,2,3,4,5,6,7,8,9,10};cout << "array index 0:" << b[0] << endl;cout << "array index 1:" << b[1] << endl; cout << "array index 2:" << b[2] << endl; cout << "array index 3:" << b[3] << endl; cout << "array index 4:" << b[4] << endl; cout << "array index 5:" << b[5] << endl; cout << "array index 6:" << b[6] << endl; cout << "array index 7:" << b[7] << endl; cout << "array index 8:" << b[8] << endl; cout << "array index 9:" << b[9] << endl; // 列表初始化// 列表部分初始化int c[10] = {1,2};cout << endl;cout << "array index 0:" << c[0] << endl;cout << "array index 1:" << c[1] << endl; cout << "array index 2:" << c[2] << endl; cout << "array index 3:" << c[3] << endl; cout << "array index 4:" << c[4] << endl; cout << "array index 5:" << c[5] << endl; cout << "array index 6:" << c[6] << endl; cout << "array index 7:" << c[7] << endl; cout << "array index 8:" << c[8] << endl; cout << "array index 9:" << c[9] << endl; // 列表初始化return 0;
}

运行结果:

从结果可以看到

1、通过角标赋值必须初始化所有值,否则会有脏数据出现。

        第一部分a数组中创建了大小为10的“int数组”,并且赋值了角标为0和1的元素值分别为10和9,此时对应角标元素打印出来的值也是正确的10和9,

注意:我们并未给a[2],a[3]赋值,但是确取值时获取到了,这是因为没有给这个角标的元素赋值,直接取数则会获取到的值是原来该内存中遗留的值。

 2、通过列表初始化所有值,更加的便捷。

3、通过列表初始化部分值,其他值会自动设置为0。

所以注意使用数组时,一定记得定义变量的原则,必须执行初始化,会出现不可预料的值。

数组不能赋值给另外一个数组

        如下代码是非法的。

#include <iostream>
int main(void){using namespace std; int a[3] = {1,2,3}; int b[3] = {4,5,6}; 
// 不允许将一个数组赋值给另外一个数组b = a; return 0;
}

编译时将无法编译通过:

http://www.lryc.cn/news/467273.html

相关文章:

  • 2.1 > Shell 是什么、如何更熟练的使用 Bash Shell
  • YOLO V3 网络构架解析
  • 【zlm】 webrtc源码讲解(二)
  • 5G RedCap工业路由器赋能电力物联网应用
  • 029.浏览器自动化-抓取#document下的内容
  • 2024前端html5,css3面试题总汇
  • css实现外层不换行,内层换行
  • word取消自动单词首字母大写
  • flex常用固定搭配
  • Kafka、Kafka Streams、Drools、Redis 和分布式数据库的风控系统程序
  • C++在实际项目中的应用第一课:游戏开发中的C++
  • 一键下载海外youtbe视频 解锁版 支持多分辨率
  • Scala内部类的运用
  • 【在Linux世界中追寻伟大的One Piece】Socket编程UDP
  • 机器学习在聚合物及其复合材料中的应用与实践
  • 用大模型或者预训练模型对图片进行OCR
  • 如何使用的是github提供的Azure OpenAI服务
  • elementUI进度条el-progress不显示白色
  • 学习笔记——路由——IP组播-PIM(协议无关组播)-概述/PIM模式
  • TCP 协议学习
  • python3的基本数据类型:String(字符串)
  • 面试总结(2024/10/16)
  • 从图像识别到聊天机器人:Facebook AI的多领域应用
  • linux中级(NFS服务器)
  • 微软主动出击,“钓”出网络钓鱼者
  • Xcode16 编译运行YYCache iOS18 sqlite3_finalize 闪退问题解决方案
  • Kafka-Windows搭建全流程(环境,安装包,编译,消费案例,远程连接,服务自启,可视化工具)
  • django模板相关配置
  • MongoDB等保限制下的连接认证问题
  • 2024 睿抗机器人开发者大赛(RAICOM)-【网络安全】CTF 部分WP