C语言自学笔记10----C语言数组

C 语言数组

数组是可以存储多个值的变量。例如,如果要存储100个整数,则可以为其创建一个数组。

示例

int data[100];

例如,

float mark[5];

在这里,我们声明了一个浮点类型的数组mark。其大小为5。意味着,它可以容纳5个浮点值。

需要注意的是,数组的大小和类型一旦声明就不能更改。

访问数组元素

您可以按索引访问数组的元素。

假设您如上所述声明了一个数组mark。第一个元素是mark[0],第二个元素是mark[1],依此类推。

说明:

数组的第一个索引为0,而不是1。在此示例中,数组为第mark[0]一个元素。

如果数组的大小为,则要n访问最后一个元素,n-1则使用索引。在这个实例中mark[4]

假设的起始地址mark[0]是2120d。然后,的地址mark[1]将为2124d。同样,地址mark[2]将是2128d等。

这是因为a的大小float是4个字节。

示例

int mark[5] = {19, 10, 8, 17, 9};

您也可以像这样初始化一个数组。

示例

int mark[] = {19, 10, 8, 17, 9};

在这里,我们没有指定大小。但是,当我们使用5个元素进行初始化时,编译器知道其大小为5。

在C语言编程中初始化数组

这里,

mark[0] 等于 19

mark[1] 等于 10

mark[2] 等于 8

mark[3] 等于 17

mark[4] 等于 9

更改数组元素的值

示例

int mark[5] = {19, 10, 8, 17, 9}

//使第三个元素的值为-1

mark[2] = -1;

//使第五个元素的值为0

mark[4] = 0;

输入和输出数组元素

访问元素超出范围!

假设您声明了一个由10个元素组成的数组。比方说

int testArray[10];

您可以访问数组元素 testArray[0] - testArray[9]。

现在,假设您尝试访问testArray[12]。该元素不可用。这可能会导致意外输出(抛出错误)。
因此,永远不要访问数组边界之外的元素。
C 语言多维数组

在C语言编程中,您可以创建一个数组。这些数组称为多维数组。例如,

float x[3][4];

这x是二维(2d)数组。该数组可以容纳12个元素。您可以将数组视为具有3行的表,每行有4列。

x[0][0];x[0][1];x[0][2];x[0][3];

x[1][0];x[1][1];x[1][2];x[1][3];

x[2][0];x[2][1];x[2][2];x[2][3];

C程序设计中的二维数组

同样,您可以声明三维(3d)数组。例如,

示例

float y[2][4][3];

在这里,数组y可以容纳24个元素。

初始化多维数组

下面是初始化二维和三维数组的方法:

二维数组的初始化

示例

//初始化二维数组的不同方法

int c[2][3] = {{1, 3, 0}, {-1, 5, 9}};

int c[][3] = {{1, 3, 0}, {-1, 5, 9}};

int c[2][3] = {1, 3, 0, -1, 5, 9};

三维数组的初始化

您可以用类似于二维数组的类似方式初始化三维数组。这是一个实例

示例

int test[2][3][4] = {

{{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},

{{13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9}}};

相关推荐
Starshime35 分钟前
【C语言】变量和常量
c语言·开发语言
晨非辰38 分钟前
#C语言——刷题攻略:牛客编程入门训练(十):攻克 循环控制(二),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio
零点零一1 小时前
`vcpkg` 微软开源的 C/C++ 包管理工具的使用和安装使用spdlog
c语言·c++·microsoft
easy20202 小时前
Kaggle项目实践——Titanic: Machine Learning from Disaster
笔记·学习·机器学习
The_Second_Coming2 小时前
容器应用学习笔记:containerd 篇
运维·笔记·学习·容器·containerd
HainesFreeman3 小时前
书籍成长书籍文字#创业付费杂志《财新周刊》2025最新合集 更33期
笔记
平平无奇。。。4 小时前
解密完全二叉树顺序存储之堆结构
c语言·数据结构·visual studio
岑梓铭5 小时前
《考研408数据结构》第一章复习笔记
数据结构·笔记·考研·408
0_0梅伊阁诗人5 小时前
Redis
开发语言·笔记·python
溟洵6 小时前
【 C/C++ 算法】入门动态规划-----一维动态规划基础(以练代学式)
c语言·c++·算法