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

【C++】第五章 数组:一维数组/二维数组

目录

1 概述

2 一维数组

3 二维数组 


1 概述

  • 概念:集合概念,存放相同类型的数据元素
  • 特点1:数组中的每个数据元素都是相同的数据类型
  • 特点2:数组是由连续的内存位置组成的

2 一维数组

  • 格式:
    • 数据类型  数组名[ 数组长度 ];
      • int a[3];    //利用下标赋值

        a[0] = 100;
        a[1] = 99;
        a[2] = 85;

    • 数据类型  数组名[ 数组长度 ] = { 值1,值2 ...};
      • 如果{}内不足10个数据,剩余数据用0补全
      •  int b[10] = { 100, 90,80,70,60,50,40,30,20,10 };    
    • 数据类型  数组名[ ] = { 值1,值2 ...};
      • int c[] = { 100,90,80,70,60,50,40,30,20,10 };

  • 总结1:数组名的命名规范与变量名命名规范一致,不要和变量重名
  • 总结2:数组中下标是从0开始索引
  • 数组名作用:统计整个数组在内存中的长度;获取数组在内存中的首地址
    • 注意:数组名是常量,不可以赋值
    •  总结1:直接打印数组名,可以查看数组所占内存的首地址
    • 总结2:对数组名进行sizeof,可以获取整个数组占内存空间的大小

3 二维数组 

  • 概念:二维数组就是在一维数组上,多加一个维度。
  • 格式:
    • 数据类型  数组名[ 行数 ][ 列数 ];
      • int arr[2][2];
        arr[0][0] = 1;
        arr[0][1] = 2;
        arr[1][0] = 3;
        arr[1][1] = 4;
          
    • 数据类型  数组名[ 行数 ][ 列数 ] = { {数据1,数据2 } ,{数据3,数据4 } };
      • 更加直观,提高代码的可读性
      • int arr2[2][2] =
            {
                {1,2},
                {3,4}
            };
    • 数据类型  数组名[ 行数 ][ 列数 ] = { 数据1,数据2,数据3,数据4};
      • int arr3[2][3] = { 1,2,3,4,5,6 }; 
    •  数据类型  数组名[  ][ 列数 ] = { 数据1,数据2,数据3,数据4};
      • int arr4[][3] = { 1,2,3,4,5,6 };
  • 总结:在定义二维数组时,如果初始化了数据,可以省略行数
  • 数组名作用:查看二维数组所占内存空间;获取二维数组首地址
    • 总结1:二维数组名就是这个数组的首地址
    • 总结2:对二维数组名进行sizeof时,可以获取整个二维数组占用的内存空间大小

相关文章:

  • 阿里云大数据开发一面面经,已过,面试题已配答案
  • 自定义模块和第三方模块,cnmp
  • 【正点原子I.MX6U-MINI应用篇】3、Framebuffer应用编程,操作屏幕
  • 区间预测 | MATLAB实现GRU门控循环单元分位数回归多输入单输出
  • 大学网上课程查题系统搭建使用-公众号使用
  • 若依前后端分离版入门
  • DRV8812芯片被国产激光打印机驱动芯片TMI8262取代
  • 三十三、《大数据项目实战之用户行为分析》Spark SQL读写MySQL
  • 负载开关、高侧开关、低侧开关等
  • 【LeetCode】146、LRU 缓存【中等】
  • 【JavaWeb项目】基于WebSocket的Web聊天室
  • File对象转MultipartFile 如何new出高仿MultipartFile对象
  • VScode配置运行C/C++、python,及快捷键配置
  • 【threejs】可视化大屏酷炫3D地图附源码
  • 安路FPGA学习备忘录
  • angular学习第一篇-----环境搭建
  • CSS 提示工具(Tooltip)
  • Github访问慢解决办法
  • Laravel Mix运行时关于es2015报错解决方案
  • python学习笔记 - ThreadLocal
  • 代理模式
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • - 概述 - 《设计模式(极简c++版)》
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 自制字幕遮挡器
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • Nginx实现动静分离
  • scrapy中间件源码分析及常用中间件大全
  • 关于Android全面屏虚拟导航栏的适配总结
  • 正则表达式-基础知识Review
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • !!Dom4j 学习笔记
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ( 10 )MySQL中的外键
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (2)MFC+openGL单文档框架glFrame
  • (4)(4.6) Triducer
  • (动态规划)5. 最长回文子串 java解决
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (三分钟)速览传统边缘检测算子
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (转)关于pipe()的详细解析
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net 程序发生了一个不可捕获的异常
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net连接MySQL的方法
  • .NET下ASPX编程的几个小问题
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • .sys文件乱码_python vscode输出乱码