当前位置: 首页 > article >正文

【c语言】二维数组

创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

目录

一维数组知识:

一、二维数组的特性

二、二维数组的基本用法 

三、二维数组的初始化定义

 1)完全初始化

 2)不完全初始化

​ 3)初始化成员个数

四、注意事项

五、循环遍历


 二维数组是对一维数组的延申,学习二维数组前需要对一维数组的知识理解哦~

一维数组知识:

  一维数组详解icon-default.png?t=N2N8https://blog.csdn.net/TiSg0/article/details/130053302?spm=1001.2014.3001.5501

一、二维数组的特性

长度固定 、 同类型、 有编号(先行后列),逻辑造型:表格矩阵状

二维数组声明生成: 类型 数组名[行数][列数]

int arr[3][4];

二、二维数组的基本用法 

 数组元素(成员)的使用:数组名[先行][后列] 

	arr[0][0] = 1;
	arr[0][3] = 2;
	arr[2][1] = 3;

二维数组也称为一维数组的一维数组。先找行、再找列

 

三、二维数组的初始化定义

 1)完全初始化

形式1:一维模样      形式2:{}行方式

#include <stdio.h>
int main()
{
	/* 二维数组 在 声明的同时 直接初始化赋值  */

	/* 1  完全初始化:形式1:一维摸样 形式2:{}行方式  */
	int arr1[2][3] = { 1,2,3,4,5,6 };
	int arr2[2][3] = { {1,2,3},{4,5,6} };
	for (int i = 0; i < 2; i++) //行
	{
		for (int j = 0; j < 3; j++)  //列
		{
			printf("%d ", arr1[i][j]);
		}
		printf("\n");
	}
    return 0;
}

 一维模样在内存中的表现:

 

 2)不完全初始化

不完全初始化、其它成员默认 0

#include <stdio.h>
int main()
{
	int arr3[2][3] = { 1,2 };
	int arr4[2][3] = { {1},{5,6} };
	for (int i = 0; i < 2; i++) //行
	{
		for (int j = 0; j < 3; j++)  //列
		{
			printf("%d ", arr4[i][j]);
		}
		printf("\n");
	}
    return 0;
}

 3)初始化成员个数

初始化成员个数时与一维数组不同点:列数不能省略!!!根据列数自动决定行数。

	int arr5[][2] = { {1,2},{3,4},{5,6} };
	int arr6[][2] = { 1,2,3,4,5,6 };

四、注意事项

不要下标越界使用 

五、循环遍历

二维数组分行和列,行中有列,通过双层循环遍历二维数组。 

#include <stdio.h>
int main()
{
	int arr[3][4];
	arr[0][0] = 1;
	arr[0][3] = 2;
	arr[2][1] = 3;
for (int i = 0; i < 3; i++) //行
	{
		for (int j = 0; j < 4; j++)  //列
		{
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}

	printf("\narr大小:%d arr[0]大小:%d\n", sizeof(arr), sizeof(arr[0]));
	int hs = sizeof(arr) / sizeof(arr[0]);        //有几行:数组空间/行空间
	int ls = sizeof(arr[0]) / sizeof(arr[0][0]);  //有几列:行 总空间/行 单个空间
	printf("行:%d\n", hs);
	printf("列:%d\n", ls);
    return 0;
}


http://www.kler.cn/a/9444.html

相关文章:

  • WorkFlow源码剖析——Communicator之TCPServer(下)
  • 软件测试学习记录 Day1
  • 解耦与模块化:鸿蒙平台上的服务注册与查找机制
  • 探索 Seata 分布式事务
  • R和MATLAB及Python混合效应模型
  • 导入python依赖报错:ImportError: Unable to import required dependencies:
  • SpringBoot案例
  • 从零开始学架构——高性能缓存架构
  • 【前端面试专题】【5】Vue3
  • sqlmap使用(以sqli-lab为例)
  • 【Leetcode之路 | Java Python】两数之和(暴力枚举哈希表)
  • 基于发票增值税OCR API设计自动识别应用系统,从此解放财务双手
  • 【图像分割】Segment Anything(Meta AI)论文解读
  • 经典文献阅读之--Bidirectional Camera-LiDAR Fusion(Camera-LiDAR双向融合新范式)
  • Java -- System类和冒泡排序
  • SpringBoot集成ChatGPT实现AI聊天
  • 护眼灯真的可以保护眼睛吗?推荐五款达到护眼级别的灯
  • SVN
  • C/C++每日一练(20230412)
  • 全国青少年信息素养大赛Python编程挑战赛初赛试题说明
  • AI助手帮你轻松做好Imagenet数据集重命名与复制
  • 本明杰富兰克林自律十三条
  • 【NLP入门教程】三、词性标注
  • KNN、SVM、MLP、K-means分类实验
  • chapter-4-数据库语句
  • 一般形式的S曲线公式推导