IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言 -- 数组初阶 -> 正文阅读

[C++知识库]C语言 -- 数组初阶

一维数组的创建使用与存储

一. 一维数组的创建
数组是一组相同类型元素的集合具体模板为:
type_t arr_name [const_n];

type_t是指数组的元素类型
arr_name表示的是数组名
const_n 表示的是数组的大小,必须是常量。

数组创建实例:
int arr1[10]; 此语句表示的是创建一个名字为arr1的用来存储int类型的数组,数组的大小为10,也就是能存储十个int类型的整数。

int count = 10;
int arr[count]; 此时数组的创建是错误的,因为这里用来表示数组的值是一个变量,所以数组不能正常创建。

二. 数组的初始化
数组的初始化是在创建数组的同时给数组的内容一些合理的初始值如下图:
在这里插入图片描述
上图表示在创建数组的同时并对数组中每个位置的值进行了初始化。
在这里插入图片描述
数组也可以像上图这种进行初始化,此时[]内部会自动对你初始化的元素个数进行判断,来对数组的个数进行判断。

三. 一维数组的使用
在这里插入图片描述
如上图:

  1. sizeof(a)可以表示数组a所占的字节数,sizeof(a[0])表示的是数组中第一个元素所占的字节,所以两个数值相除就可以得到数组中元素的个数。

  2. 数组可以用下标的方式来进行访问,应用的操作符为[],下标从0开始进行访问。

四. 一维数组在内存中的存储
在内存中一维数组之间的地址是连续的,并且地址的大小是从左到右以此增大的,其两个地址之间相差的是数组中类型所占的字节数的大小具体如下图:
在这里插入图片描述
由此图可以证明上面的结论,可以看到上图中数组中每个元素之间的地址相差4,也就是int类型所占的字节的大小。

二维数组的创建使用与存储

一. 二维数组的创建
类比上面的一维数组的创建可得,二维数组的创建为: int arr[3][4]; 此语句表示的是创建一个三行四列的数组,数组中存储的类型是int类型。

二. 二维数组的初始化
和一维数组相同,二维数组的初始化也是用’{}'来进行初始化,而和一维数组的不同是,二维数组是不可以int a[][] = {1 , 2 , 3};这样创建的,二维数组最多只能不写行数,如可以int a[][2] = {{1 , 3} , {1 , 2}};这样进行创建,而不能省略列的原因是如果省略了列数,那么就不知道一行到底存了多少个元素,所以就不能判断行数,所以创建的时候不能使用列数。

三. 二维数组的使用
在这里插入图片描述
和一维数组相同,二维数组也是用下标进行访问的,并且下标是从0开始的。如上图如果数组中元素不足以分配给行数和列数,则需要在后面补零。

四. 二维数组在内存中的存储
在这里插入图片描述
由代码可以看出来,二维数组和一位数组也是一样的,其元素间的地址是连续的,其元素间的地址之差是数组中元素类型的字节数。

数组作为函数参数

在这里插入图片描述
如上图用数组作为函数的参数其实就是将数组的首地址的地址传输给形参,而因为数组间的元素的地址都是连续的,所以对于数组来说只要知道数组的首元素地址也就知道了数组的所有地址与数值。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 10:37:50  更:2021-08-02 10:40:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 5:36:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码