C语言二维数组的初始化

这篇具有很好参考价值的文章主要介绍了C语言二维数组的初始化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

二维数组的初始化可以按行分段赋值,也可按行连续赋值。

例如,对于数组 a[5][3],按行分段赋值应该写作:

int a[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};

其中,花括号的对数代表行数,方括号中的值的个数代表列数。

按行连续赋值应该写作:

int a[5][3]={80,75,92,61,65,71,59,63,70,85,87,90,76,77,85};

这两种赋初值的结果是完全相同的。

在这种赋值方式中,编译器会按行和列的个数去自动识别数值所在的位置。如此数组定义3列,那么每相邻的三个值为一行,依此类推,直到行的个数达到所定义的列数为止。

形象地表示地话,这个数组是这样的:

80  75  92

61  65  71

59  63  70

85  87  90

76  77  85

(此表示方式是为了更易于理解编译器是如何识别行和列)

除此之外

1)在对二维数组定义时,行的值可忽略,但列的值不能忽略,如

int a[][3]={{0,0,0},{1,1,1}};

这种方式正确。

2)可以只对部分元素赋值,未赋值的元素自动取“零”值。如

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

是对每一行的第一列元素赋值,未赋值的元素的值为 0。

形象地表示地话,这个数组是这样的:

1  0  0
2  0  0
3  0  0

3)二维数组可以看作是由一维数组嵌套而成的;如果一个数组的每个元素又是一个数组,那么它就是二维数组。当然,前提是各个元素的类型必须相同。根据这样的分析,一个二维数组也可以分解为多个一维数组,C语言允许这种分解。

例如,二维数组a[3][4]可分解为三个一维数组,它们的数组名分别为 a[0]、a[1]、a[2]。

这三个一维数组可以直接拿来使用。这三个一维数组都有 4 个元素,比如,一维数组 a[0] 的元素为 a[0][0]、a[0][1]、a[0][2]、a[0][3]。文章来源地址https://www.toymoban.com/news/detail-443689.html

到了这里,关于C语言二维数组的初始化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言:结构体数组的使用和初始化:

    前文:在C语言中,结构体是经常会用到的自定义数据类型,通常在使用结构体时,我们会进行单一的结构体初始化。但在使用同一个结构体,初始化不同的数据时,则可以用到结构体数组来进行初始化。 结构体数组是指在一个数组中存储多个结构体对象的集合。结构体是一

    2024年02月04日
    浏览(53)
  • 【Java基础教程】(八)面向对象篇 · 第二讲:Java 数组全面解析——动态与静态初始化、二维数组、方法参数传递、排序与转置、对象数组、操作API~

    掌握数组的动态及静态创建方式、使用及特征; 掌握引用类型数据的特征; 掌握数组的排序、转置操作; 数组可以将多个变量进行统一的命名,这样相同类型的元素就可以按照一定的顺序进行组合排列 。在 Java中,数组属于引用类型数据,所以在数组的操作过程中,也一定

    2024年02月13日
    浏览(53)
  • 【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串

    字符数组的定义方法与前面介绍的一维数组类似.例如, 字符数组的初始化可以采用以下方式. (1)对每个字符单独赋值进行初始化.例如, (2)对整个数组进行初始化.例如, 但工作中一般不用以上两种初始化方式,因为字符数组一般用来存取字符串.通常采用的初始化方式是

    2024年01月25日
    浏览(56)
  • C++笔记之初始化二维矩阵的方法

    —— 2023年5月20日 上海 code review!

    2024年02月04日
    浏览(55)
  • 数组初始化

    C语言中,数组初始化的方式主要有三种: 1、声明时,使用 {0} 初始化; 2、使用memset; 3、用for循环赋值。 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码: #define ARRAY_SIZE_MAX  (1*1024*1024)  void function1()  {      char array[ARRAY_SIZE_MAX] = {0};  //声明时使用{0}初始

    2024年02月14日
    浏览(61)
  • 17 数组动态初始化

            动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。         格式:数据类型[] 数组名 = new 数据类型[数组长度]         实验结果:   

    2024年02月16日
    浏览(42)
  • 数组练习题,数组的动态初始化

    定义一个数组,求和 定义一个数组,统计数组里面一共有多少能够被3 整除的数字: 定义一整数类型数组,如果该数字是奇数,则将当前数字扩大两倍,如果是偶数,则将该数字变成该数字的1/2. 一个循环尽量只做一件事情,虽然把打印写的同一个循环里面可以,结果一样,

    2024年02月15日
    浏览(53)
  • java中初始化数组的方法

    方式一: 注:此种方式创建的数组,如不显式初始化数组元素,则各元素为当前数据类型的默认值。基本数据类型为0,对象类型为null。所以使用前需要将各元素显式赋值。 方式二: 注:此方式与方式一的结果相同,但是更简便。 方式三: 注:此方式与方式一和方式二的结

    2024年02月12日
    浏览(45)
  • 【数组】二分查找(减不减一,看初始化!)

    704. 二分查找 - 力扣(LeetCode) 这道题目的前提是数组为有序数组 ,同时题目还强调 数组中无重复元素 ,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的, 这些都是使用二分法的前提条件 ,当大家看到题目描述满足如上条件的时候,可要想一想是不是

    2024年02月07日
    浏览(46)
  • C/C++初始化数组全为0的方法

    使用C99标准的方式 使用C99标准时,可以直接在定义数组时使用空的花括号来初始化数组,这将会把数组中的所有元素都初始化为0。 当使用大括号初始化器{}来初始化数组时,如果没有指定初始值,则数组的所有元素将被初始化为默认值。对于整型数组,其默认值为0。 在C+

    2024年02月16日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包