**c语言——数组Array**

本文介绍了C语言中的一维数组、二维数组的概念和构造格式,包括数组的声明、使用注意事项,以及字符数组和字符串的基本操作。强调了数组大小需为常量、字符串本质为以''结尾的字符数组等要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言——数组Array
1.一维数组
数组
概念:将一些具有类似特征的数放在同一个容器中,这个容器叫做数组 一维数组
一维数组概念:将一些具有类似特征的数放在一个容器中,这个容器叫做一维数组
抽象理解一维数组:相当于数学中的一个起点为0,有具体长度的线段。
一维数组的构造格式:

数据类型  数组名[储存数据个数]

eg:
int a[10];
int——说明定义的数组中的值为整型
a——定义的数组名字叫做a
[10]——a这个数组存储了10个元素,分别为a[0],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]
注意点:
1.“int a[max]”,声明了一个包含max个整型变量的数组,即a[0],a[1],…a[max-1],注意没有a[max],max表示的是数组中的元素个数。max必须是常数,不能是变量。
2.比较大的数组应尽量声明在main函数外,否则程序可能无法运行。

二维数组
二维数组的结构格式为:

数据类型  数据名[常量a
### C语言数组的使用方法和特性 #### 数组的基本概念 在C语言中,数组是一种用于存储相同类型数据元素的线性数据结构[^4]。它允许程序员通过索引来访问特定位置上的元素。 #### 定义和声明 要定义一个数组,需指定其数据类型、名称以及大小。例如,下面是一个包含5个整数的数组的定义: ```c int myArray[5]; ``` 这里的`myArray`表示数组名,`int`是数据类型,而`5`则是数组的大小,表明它可以存储五个整数类型的元素。 #### 初始化 数组可以在声明的同时被初始化。如果只提供部分初始值,则其余未赋初值的部分会自动设置为零(对于全局变量)或者保持未定义状态(对于局部变量)。例如: ```c int numbers[] = {1, 2, 3}; // 这里numbers长度由大括号内的元素数目决定,因此它的大小为3。 ``` 注意,在这种情况下编译器能够自行计算出数组的实际尺寸。 #### 访问元素 可以通过下标操作符`[]`来获取某个具体位置处的数值。需要注意的是,第一个元素的位置编号总是从0开始计起而不是1。比如读取上述例子中的第二个元素应写成这样:`numbers[1]`[^2]。 #### 地址与指针的关系 每一个数组都有自己的内存区域分配给它们存放各自的项目;而且每个项目的物理地址都可以看作是指向那个单元格的一个常量指针。这意味着我们可以利用指针算术来进行遍历整个序列的操作。如下所示程序片段展示了如何打印出所有成员对应的内存地址信息: ```c #include <stdio.h> int main(){ int arr[10]={0},i=0; size_t sz=sizeof(arr)/sizeof(*arr); while(i<sz){ printf("&arr[%zu]=%p\n",i,&(arr[i])); ++i; } } ``` #### 多维数组及其布局 多维数组本质上是由多个单一维度组成的复合形式。尽管看起来像是表格那样的矩形排列,但实际上还是按照单一线性的顺序保存于连续块状空间之中——这就是所谓的“行优先级”原则:先完成当前行列内全部项之后才会跳转至下一排继续填充剩余空白区段[^3]。 #### 柔性数组成员 自C99标准以后引入了一种特殊的结构体设计模式叫柔性数组成员(Flexible Array Member),使得我们能够在某些特殊场景下调配动态可变长度的对象成为可能。这类字段必须位于结构体最后一位,并且省略掉原本应该填写的具体尺度参数。像这样的代码就是合法有效的实现方式之一[^1]: ```c typedef struct st_type{ int i; double j[]; }type_b; ``` ### 总结 综上所述,C语言里的数组不仅提供了便捷途径去处理批量相似性质的数据集合,还支持灵活定制满足不同需求的应用场合下的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值