39-数组 _ 二维数组

news2025/3/14 1:00:11

 39-1 二维数组的创建

行和列编号依旧是从0开始

//arr数组:
//1 2 3 4
//2 3 4 5
//2 4 5 6
//三行四列

int main()
{
	int arr[3][4];  //存放整数
	char arr1[5][10];  //存放字符
	return 0;
}

39-2 二维数组的初始化

创建之后,利用初始化赋值

完全初始化(全部赋值)

int main()
{
	int arr[3][4] = { 1,2,3,4,2,3,4,5,2,4,5,6 };
	return 0;
}

赋值情况

不完全初始化(部分赋值),并规定每一行的前两个数字

int main()
{
	int arr[3][4] = { {1,2},{3,4},{5,6} };
	return 0;
}

赋值情况

注:可以省略行,但不能省略列

 39-3 二维数组的使用

访问某个元素

如arr[2][3]即为第二行第三列的6

int main()
{
	int arr[3][4] = { 1,2,3,4,2,3,4,5,3,4,5,6 };
	printf("%d ", arr[2][3]);
	return 0;
}

访问结果:

访问二维数组

int main()
{
	int arr[3][4] = { 1,2,3,4,2,3,4,5,3,4,5,6 };
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			printf("%d ", arr[i][j]);
		}  //打印一行
		printf("\n");
	}
	return 0;
}

访问结果:

 为数组的每一个位置赋值

int main()
{
	int arr[3][4] = { 1,2,3,4,2,3,4,5,3,4,5,6 };
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			scanf("%d", &arr[i][j]);
		}
	}

	//验证
	printf("打印结果如下:\n");
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			printf("%d ", arr[i][j]);
		}  //打印一行
		printf("\n");
	}

	return 0;
}

赋值并打印: 

 问:二维数组可不可以看作一维数组?

我们可以把二维数组理解为:一维数组的数组

以上面的二维数组为例,我们把每一行看作一个元素,有三行,即这个“一维数组”有三个元素;而每一个元素又是一个一维数组

 39-4 二维数组在内存中的存储

打印地址,查看二维数组如何在内存中存储:

int main()
{
	int arr[3][4] = { 1,2,3,4,2,3,4,5,3,4,5,6 };
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			printf("arr[%d][%d] = %p\n", i,j,&arr[i][j]);
		} 
	}
	return 0;
}

运行结果:

由此可见,二维数组在内存中也是连续存放的,并非分行分列存放。即:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1622925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux + mysql面试题

Linux 基础.Linux 基础说出 个以上的 Linux 命令在 RedHat 中&#xff0c;从 root 用户切到 userl 用户&#xff0c;一般用什么命令&#xff1f;Linux 中&#xff0c;一般怎么隐藏文件&#xff1f;在 Linux 系统中&#xff0c;一个文件的访问权限是 7&#xff0c;其含义是什么…

对增加LLaMA 3 上下文长度技术的猜测

AI苏妲己&#xff1a; 在许多应用场景中&#xff0c;如长对话、长文档摘要或长期计划执行等&#xff0c;大语言模型能够支持较长的上下文窗口是非常理想的。以一次处理约50页书籍内容为例&#xff0c;通常需要模型支持32K个token的上下文长度。目前&#xff0c;主流的大语言模…

docker快速搭建部署mqtt

文章目录 前言一、mqtt是什么&#xff1f;二、使用步骤1.引入库2.创建临时容器3.创建挂在目录4.将临时容器的配置挂载到宿主机中5.删除临时容器6.运行容器并挂载文件7.登录EMQX内置的管理控制台 总结 前言 一、mqtt是什么&#xff1f; MQTT&#xff08;Message Queuing Teleme…

智慧码头港口:施工作业安全生产AI视频监管与风险预警平台方案

一、建设思路 随着全球贸易的快速发展&#xff0c;港口作为连接海洋与内陆的关键节点&#xff0c;其运营效率和安全性越来越受到人们的关注。为了提升港口的运营效率和安全性&#xff0c;智慧港口视频智能监控系统的建设显得尤为重要。 1&#xff09;系统架构设计 系统应该采…

LLM大语言模型(十二):关于ChatGLM3-6B不兼容Langchain 的Function Call

背景 基于本地的ChatGLM3-6B直接开发LangChain Function Call应用&#xff0c;发现其输出的action和action_input非常不稳定。 表现为生成的JSON格式回答非常容易出现不规范的情况&#xff0c;导致LangChain的Agent执行报错&#xff0c;或者进入死循环。 ChatGLM3-6B不兼容La…

关于DevOps理解和总结

DevOps是研发领域最近几年最热的一个概念。参加过一些讲座&#xff0c;也看过不少的书籍&#xff0c;经常听到以下说法&#xff1a; DevOps是没有明确定义的&#xff0c;一千个研发心中就有一千个Devops&#xff1b;DevOps是一种文化&#xff0c;每个团队的DevOps实践都不一样…

spring基本使用

文章目录 1. ioc(Inversion of Control) | DI(Dependency Injection)(1) maven坐标导包(2) 编写配置文件bean.xml(3) 配置bean(4) 配置文件注入属性 2. DI(dependency injection) 依赖注入(setter)其他属性(1) 对象属性注入(2) 数组属性输入(3) 集合属性注入(4) map集合注入(5)…

JAVASE8中基本数据类型

本篇文章基于有过一部分的C语言基础的&#xff0c;还望大家理解 在进入到学习之前我们必须要清楚的是在JAVASE中数据类型与C语言中的数据类型基本上是相同的,接下来我们先来对8中数据类型进行简要介绍&#xff0c;他们分别是&#xff1a; 如果大家之前了解过C语言那么对于基本数…

【FP7208-RGBWY五路调光方案】 单节锂电池LED升压恒流驱动调光芯片FP7208,PWM内部转模拟调光,无频闪顾虑低亮无抖动

文章目录 方案背景 二、RGBWY五路调光调色芯片FP7208 1.芯片参数 2.单颗芯片五路调光应用原理 调光调色信号注意事项&#xff1a; 3.五路调光应用电路图DEMO实物图 4.RGBWY调光调色详解 总结 方案背景 近年来随着技术的不断进步&#xff0c;越来越多的产品需要适应小型化和便携…

系统试运行报告(上线运行报告Word原件2024)

一、试运行目的 软件项目试运行的主要目的是在实际应用环境中对软件系统进行全面检验&#xff0c;确保其满足设计要求和用户需求&#xff0c;同时发现和解决潜在的问题&#xff0c;为正式投入使用做好准备。通过试运行&#xff0c;我们可以&#xff1a; 验证软件系统的稳定性…

ONES 功能上新|ONES Wiki 新功能一览

支持在 ONES Wiki 页面中使用分栏进行横向排版&#xff0c;丰富排版方式&#xff0c;帮助用户以更丰富的版式展示内容。 应用场景&#xff1a; 页面的布局对内容的阅读有很大的影响。当页面中有图文混排的需求时&#xff0c;可以通过分栏来组织页面结构&#xff0c;以更清晰、更…

LabVIEW学习记录 - 实时显示时间

LabVIEW操作 - 实时显示时间 在程序框图&#xff0c;选择函数->定时->格式化日期/时间字符串 该函数的使用手册说明&#xff1a; 鼠标选择“格式化日期/时间字符串”->创建->输入控件->输入格式 查看时间代码格式&#xff1a; 编程->定时->获取时间日…

cad中快速计算多个矩形面积的方法

1、输入命令reg&#xff0c;选中矩形创建面域 2、输入命令uni,选中刚刚创建的面域&#xff0c;组合成一个面域 3、输入命令&#xff1a;LI &#xff0c;选中面域&#xff0c;即可查看面积和周长 需注意的一点&#xff0c;开始创建的矩形或者多段线要在一个面内&#xff0c;就是…

word常用的文件格式有哪些?word格式文件删除了怎么恢复

在数字文档处理的世界中&#xff0c;Microsoft Word以其丰富的格式选项和强大的编辑功能赢得了广大用户的青睐。但与此同时&#xff0c;误删或丢失Word格式文件的情况也时有发生。本文将深入探讨Word常用的文件格式有哪些&#xff0c;同时分享如何恢复误删的Word文件&#xff0…

浏览器的工作原理

参考&#xff1a;渲染页面&#xff1a;浏览器的工作原理 - Web 性能 | MDN (mozilla.org) Web 性能 | MDN (mozilla.org) Web性能影响因素 首先有两个&#xff0c;一个是网络延迟&#xff0c;一个是大部分情况下浏览器都是单线程执行的 保障页面快速加载的最大威胁是网络延迟…

MyBatisPlus详解(二)条件构造器Wrapper、自定义SQL、Service接口

文章目录 前言2 核心功能2.1 条件构造器2.1.1 Wrapper2.1.2 QueryWrapper2.1.3 UpdateWrapper2.1.4 LambdaQueryWrapper 2.2 自定义SQL2.2.1 基本用法2.2.2 多表关联 2.3 Service接口2.3.1 IService2.3.1.1 save2.3.1.2 remove2.3.1.3 update2.3.1.4 get2.3.1.5 list2.3.1.6 co…

主成分分析PCA原理以及特征

一、PCA原理 原始数据 x ∈ R N x\in R^N x∈RN&#xff0c;经过PCA投影后的数据 y A x &#xff0c; y ∈ R P yAx&#xff0c;y\in R^P yAx&#xff0c;y∈RP 其中&#xff0c; A ∈ R P N A\in R^{P\times N} A∈RPN 二、PCA特征 1、降低数据的维度 2、提取数据的特征…

imx6ull----IIC--AP3216C

概念 IIC总共有两条线&#xff0c;一条是 SCL(串行时钟线)&#xff0c;另外一条是 SDA(串行数据线)&#xff0c;这两条数据线需要接上拉电阻&#xff0c;总线空闲的时候 SCL 和 SDA 处于高电平。 I2C 总线标准模式下速度可以达到 100Kb/S&#xff0c;快速模式下可以达到 400Kb…

嵌入式Linux driver开发实操(十七):Linux Media Infrastructure userspace API

视频和无线电流媒体设备使用的Linux内核到用户空间API,包括摄像机、模拟和数字电视接收卡、AM/FM接收卡、软件定义无线电(SDR)、流捕获和输出设备、编解码器设备和遥控器。典型的媒体设备硬件如下: 媒体基础设施API就是用于控制此类设备的,分五个部分。 第一部分V4L2 API…

Postman 工具发送请求的技巧与实践

在开发和测试 API 时&#xff0c;发送 JSON 格式的请求是一个常见需求。 在 Postman 中构建和发送 JSON 请求 创建一个新的请求 首先&#xff0c;在 Postman 启动界面上找到并点击 “New” 按钮&#xff0c;选择 “HTTP Request” 来开始新建一个请求。这一步骤允许你定义请…