news 2026/4/23 21:46:59

数组(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数组(二)

一、二维数组的创建

1、二维数组的定义

type arr_name[常量值 1][常量值 2];

2、二维数组的创建

例如:

int arr[3][5];

double score[2][10];

解释:

3表示数组有3行,

5表示每一行有5个元素,

int表示数组的每个元素是整型类型,

arr是数组名,可以根据自己的需要指定名字。

二、二维数组的初始化

在创建变量或者数组的时候给定一些初始值,被称为初始化。二维数组如何初始化?就像一维数组一样,我们也是使用大括号进行初始化的。

2.1.不完全初始化

例如:

int arr1[3][5] = {0};

int arr2[3][5] = {1,2};

2.2.完全初始化

int arr3[3][5] = {1,2,3,4,5,6,7,8,9,2,3,4,5,6,7};

2.3.按照行初始化

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

2.4.初始化时可以省略行,但不能省略列

三、二维数组的使用

3.1.二维数组的下标

二维数组的访问也是使用下标的方式,二维数组也是有行和列的,只要锁定了行和列就能唯一锁定数组中的一个元素。

C语言规定,二维数组的行和列都是从0开始的。

int arr3[3][5] = {1,2,3,4,5,6,7,8,9,2,3,4,5,6,7};

其中,最左侧的数字代表行号,第一行数字代表列号,都是从0开始的。例如,第二行、第三列就能快速锁定6。

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
int arr3[3][5] = { 1,2,3,4,5,6,7,8,9,2,3,4,5,6,7 };
printf("%d", arr3[2][3]);
return 0;
}

可自行验证。

3.2.二维数组的输入和输出

访问二维数组的单个元素我们知道了,那么,我们如何访问整个数组呢?

答案是我们只需要按照一定的规律产生所有的行和列的数字就行。

代码如下(可自行验证):

#include<stdio.h>
int main() {
int arr3[3][5] = { 1,2,3,4,5,6,7,8,9,2,3,4,5,6,7 };
int i = 0;//产生行
//输入
for (i = 0; i < 3; i++) {
int j = 0;//产生列
for (j = 0; j < 5; j++) {
scanf("%d", &arr3[i][j]);
}
}
//产生行
//输出
for (i = 0; i < 3; i++) {
int j = 0;//产生列
for (j = 0; j < 5; j++) {
printf("%d ", arr3[i][j]);
}
printf("\n");
}
return 0;
}

感谢你阅读这篇关于C语言二维数组的入门指南!希望这篇文章能帮你打牢基础、理清概念。编程之路,贵在实践与交流——如果你有任何疑问、建议,或者想分享你的学习心得,欢迎在评论区留言!也别忘了关注我的博客,我会持续更新更多通俗易懂、干货满满的编程教程。让我们一起在代码的世界里不断进步,共同成长!🌟

下一期预告:《数组(三)》即将上线,深入更多实用技巧与经典案例!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:53:05

快捷键:Ctrl+Shift+P打开命令面板

核心作用命令面板相当于一个 “功能总菜单”&#xff0c;你可以通过输入关键词快速搜索并执行 VS Code 的所有功能&#xff0c;无需在各级菜单中点击查找&#xff0c;大幅提升操作效率。常见用途&#xff08;结合你的 ESP32 开发场景&#xff09;执行开发命令&#xff1a;输入E…

作者头像 李华
网站建设 2026/4/18 4:03:10

线程并行控制CompletableFuture

并行执行两个任务A和B。主线程等待时间最长为3s。所以A和B&#xff0c;单独运行的时长最长也是3s。 且如果A和B都没有超时&#xff0c;那么优先取A的值。否者谁不超时&#xff0c;就取谁。 线程池单个提交 比如下面的代码&#xff0c;先提交了两个异步任务&#xff0c;此时都…

作者头像 李华
网站建设 2026/4/23 12:26:25

Transformer模型详解:从入门到掌握大模型必备基础知识

本文详细介绍了一个包含8个章节的Transformer模型讲义&#xff0c;从整体框架到具体实现&#xff0c;包括Encoder-Decoder结构、文字向量化、位置编码、多头注意力机制、残差连接与层归一化、前馈神经网络以及模型输出等核心内容。该讲义旨在帮助读者彻底掌握Transformer原理&a…

作者头像 李华
网站建设 2026/4/18 6:17:56

MCP 进化:让静态 Tool 进化为具备“上下文感知”的远程 Skills

在 AI Agent 的工程实践中&#xff0c;Model Context Protocol (MCP) 已成为连接大模型与外部世界的标准桥梁。然而&#xff0c;随着应用场景从“个人助手”向“企业级复杂业务”迈进&#xff0c;传统的 MCP 交互模式开始显露其 “静态化” 的瓶颈。 Solon AI 支持将 MCP 封装…

作者头像 李华