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}}};

相关推荐
倔强的小石头_2 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
Dann Hiroaki7 小时前
笔记分享: 哈尔滨工业大学CS31002编译原理——02. 语法分析
笔记·算法
KhalilRuan8 小时前
Unity-MMORPG内容笔记-其三
笔记
jz_ddk8 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
kfepiza9 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
无小道9 小时前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++
FirstFrost --sy11 小时前
数据结构之二叉树
c语言·数据结构·c++·算法·链表·深度优先·广度优先
森焱森11 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
I'm写代码12 小时前
el-tree树形结构笔记
javascript·vue.js·笔记
秋说13 小时前
【PTA数据结构 | C语言版】两枚硬币
c语言·数据结构·算法