0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言二维数组的定义

jf_78858299 来源:C语言 作者:闫小林 2023-03-09 11:38 次阅读

C语言二维数组的定义

一般形式
类型说明符 数组名[常量表达式][常量表达式]

int a[10][6],b[3][4];

用矩阵形式表示二维数组,是逻辑上的概念,能形象地表示出行列关系,而在内存中,各元素是连续存放的,不是二维的,是线性的。

C语言二维数组的引用

引用形式
数组名[下标][下标]
定义a为3*4的二维数组int a[3][4];

在引用数组元素时,下标值应在已定义的数组大小的范围内。

按以上定义,数组a课用的下标范围为02,“列下标”的范围为03,。用a[3][4]表示元素显然超过了数组的范围。

读者要严格区分在定义数组时用的a[3][4]和引用元素时的a[3][4]的区别。前者用来定义数组的维数和各维的大小,后者中的3和4是数组元素的下标值。

a[3][4]代表行序号为3、列序号为4的元素(行序号和列序号均从0起算)。

**C语言二维数组的初始化 **

为了使程序简洁,常在定义数组的同时,给各数组元素赋值,这称为数组的初始化。

分行给二维数组赋初值。

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

可以将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

可以对部分元素赋初值。

int a[3][4]={{1},{2},{3}};

如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。

int a[][4]={1,2,3,4,5,6,7,8,910,11,12};

和int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};等价的。

C语言二维数组案例

#include//头文件
int main() //主函数
{
int array[2][3]={1,2,3,4,5,6};//二维数组定义并初始化
printf("%d\\n",array[1][2]);
return 0;//主函数返回值为0
}

编译运行结果:

6

--------------------------------
Process exited after0.1225 secondswith return value0
请按任意键继续. . .
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128722
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25595
收藏 人收藏

    评论

    相关推荐

    数组写入二维数组

    labview如何将一数组写入二维数组某列或某行
    发表于 12-27 17:04

    labviEW中二维数组排序问题

    问题是这样的,我不断采集过来的两种参数,都是成对出现的,我把它们组成了一个二维数组,现在就想以其中的一个参数按大小排序,另一个参数不排序但是它们原来是一对的还是一对。比如说(x,y)二维数组
    发表于 03-31 13:48

    labview二维数组问题

    二维数组数组每个元素又包含3个元素,将两数组比较找出一个和另一个相同或接近的元素,用labview求程序或者算法。另外一个二维
    发表于 05-04 17:25

    二维数组各列循环更新程序

    程序实现了把生成的一数组更新二维数组各列功能。基本实现了LabVIEW二维数组插入的功能要求。
    发表于 10-13 13:20

    LABView怎样把二维数组替换到已知二维数组里边

    书中学到说为了优化内存,最好不要用创建数组函数,所以准备先建立一个数组,再用替换函数更新,现在有一个n行9列的二维数组,想把一个2行9列的数组
    发表于 05-09 14:43

    对一数组二维数组的删重处理

    本帖最后由 zzc_px 于 2015-9-25 09:55 编辑 附件为对二维数组和一数组的删重处理,求大神指点更加效率的方案。
    发表于 09-24 11:26

    labview二维数组提取几行组成新数组

    想问一下大家,labview里一个二维数组通过对其中一列的元素进行阈值判断,然后将满足条件的一行提取出来,组成新的数组,用数组创建函数不是可以将两个一
    发表于 02-16 17:47

    问一个二维数组和指针的问题?

    比如定义一个二维数组int a[3][5], 我们知道a是这个二维数组的首地址,a[0]是第一行元素的首地址,假设这个
    发表于 05-09 11:28

    二维数组怎么转化为簇

    二维数组怎么转化为簇
    发表于 05-04 17:04

    C语言二维数组定义和引用

    今天用二维数组时不知道怎么用了,网上查了下,摘到这里来了。一数组只有一个下标,称为一数组,其
    发表于 07-12 08:55

    二维数组冒泡排序

    Labview中对于一数组可以直接排序,但如果是二维数组时,特别是字符串类型二维数组,某一列其
    发表于 09-30 16:06

    请问C语言怎么实现在二维数组里循环遍历呢?

    怎么用C语言实现在二维数组里循环遍历呢?
    发表于 03-17 04:35

    二维数组

    如图,如何得到二维数组滚动条的位置, 持续写入数据时,想让滚动条显示在最新数据的位置
    发表于 01-11 17:14

    c语言二维数组定义及其规则详解

    一维数组只有一个下标,,称为一维数组,其数组元素也称为单下标变量。在实际问题中有很多量是二维的或多维的,因此C语言允许构造多维
    发表于 11-16 08:49 2.2w次阅读
    c<b class='flag-5'>语言</b><b class='flag-5'>二维</b><b class='flag-5'>数组</b><b class='flag-5'>定义</b>及其规则详解

    C语言教程之数组定义与使用说明

    本文档的详细介绍的是C语言教程之数组定义与使用说明主要内容包括了:1.一维数组定义与使用,2二维
    发表于 02-21 11:11 6次下载
    C<b class='flag-5'>语言</b>教程之<b class='flag-5'>数组</b>的<b class='flag-5'>定义</b>与使用说明