news 2026/10/13 3:37:16

小白学C语言(知识版)丨DAY 5

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小白学C语言(知识版)丨DAY 5

一维数组

1.一维数组概念

数组:是相同类型元素的一个集合。在内存中是一段连续的空间。

2.一维数组创建和初始化

一维数组创建基本语法:type arr_name[常量值];
省略数组的长度,程序会根据数组元素个数推导出输出长度

3.一维数组使用

3.1数组下标

C语言规定数组是有下标的,下标是从0开始的,假设数组有n个元素,最后一个元素的下标是n-1,下标就相当于 数组元素的编号

3.2通过数组下标访问元素

访问元素的方式为:数组名[下标]
3.2.1访问单独数据
#include<stdio.h>
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
printf("%d\n",arr[2]);//输出3
printf("%d\n",arr[7]);//输出8
return 0;
}
3.2.2访问数组当中的所有数据
#include<stdio.h>
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
3.2.3给数组输入元素
#include<stdio.h>
int main()
{
int arr[5];
int i = 0;
for (i = 0; i < 5; i++)
{
scanf("%d", &arr[i]);
}
for (i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
return 0;
}

4.一维数组在内存当中的存储

我们知道数组的定义是相同类型元素的一个集合。在内存中是一段连续的空间。
意味着每个元素与每个元素之间内存是连续的。
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
for (i = 0; i < 10; i++)
{
//这里打印地址的时候采用的是十进制,方便同学们可以看懂。事实上使用%p也是可以的
printf("&arr[%d] = %d\n", i, &arr[i]);
}
return 0;
}

5. sizeof与数组

我们可以通过sizeof(数组名)来计算整个数组的字节大小。
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%d\n", sizeof(arr));
return 0;
}
计算整个数组的长度:
sizeof(arr)/sizeof(arr[0]

二维数组

1.二维数组的概念

二维数组是相同数据类型元素按行和列排列的矩形集合,可以把二维数组写成行和列的排列形式来理解二维数组的逻辑结构。
站在一维数组的基础上理解二维数组,可以理解为:二维数组是把一维数组作为数组的元素。

2.二维数组的创建和初始化

type arr_name[常量值1][常量值2];
二维数组定义的时候可以省略行,不能省略列。(程序会根据列自动推导出行)

3.二维数组的使用

3.1二维数组下标
二维数组的访问也是通过[]的方式进行访问,如上图所示如果要确定数据3的位置,我们可以通过行和列确定。行 为0,列为2.在C语言中确定方式为:数组名[行][列]的方式。

3.2通过数组下标访问元素

给数组输入元素
#include<stdio.h>
int main()
{
int arr[2][3];
int row = 2;
int col = 3;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
scanf("%d", &arr[i][j]);
}
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 13:26:08

如何运用巴菲特的智慧进行投资

如何运用巴菲特的智慧进行投资关键词&#xff1a;巴菲特、投资智慧、价值投资、长期投资、安全边际、财务分析、企业护城河摘要&#xff1a;本文旨在深入探讨如何运用巴菲特的投资智慧进行投资。从介绍巴菲特投资理念的背景出发&#xff0c;详细阐述其核心概念&#xff0c;包括…

作者头像 李华
网站建设 2026/10/12 23:29:07

AutoGPT + Token服务 构建可持续运行的AI智能体

AutoGPT 与 Token 管理&#xff1a;构建可持续运行的 AI 智能体 在企业自动化需求日益增长的今天&#xff0c;一个典型的问题反复浮现&#xff1a;如何让 AI 不只是回答问题&#xff0c;而是真正“把事情做完”&#xff1f;我们不再满足于每次点击都需手动输入指令的聊天机器人…

作者头像 李华
网站建设 2026/10/12 22:40:47

力扣--262. 行程和用户(数据库题目)

前言&#xff1a; 这个力扣数据库题单里面的一道题&#xff0c;当时看文字很多&#xff0c;直接看的案例&#xff0c;一开始没什么思路&#xff0c;对CASE WHEN函数接触确实少&#xff0c;一开始没下起来! 题目&#xff1a; 表&#xff1a;Trips ----------------------- |…

作者头像 李华
网站建设 2026/10/12 3:12:34

手把手教你部署LobeChat镜像,打造个性化AI助手门户

手把手教你部署LobeChat镜像&#xff0c;打造个性化AI助手门户 在大模型技术席卷全球的今天&#xff0c;越来越多用户不再满足于使用封闭的商业AI聊天工具。虽然像ChatGPT这样的产品体验出色&#xff0c;但数据隐私、高昂成本和功能受限等问题始终是悬在头顶的达摩克利斯之剑。…

作者头像 李华
网站建设 2026/10/13 6:34:44

LobeChat能否集成ClickHouse?大数据日志分析方案

LobeChat 与 ClickHouse 的融合&#xff1a;构建高性能 AI 聊天日志分析平台 在企业级 AI 应用日益普及的今天&#xff0c;一个看似简单的“聊天框”背后&#xff0c;往往隐藏着复杂的交互逻辑与海量的数据流动。LobeChat 作为一款现代化的开源大语言模型&#xff08;LLM&#…

作者头像 李华
网站建设 2026/10/12 21:48:26

【SpringCloud | 第4篇】Gateway网关统一入口

文章目录网关作用工作原理predicates 断言1. 写法2. 断言机制3. 自定义断言filters 过滤器1. RewritePath GatewayFilter Factory&#xff08;路径重写&#xff09;2. 默认 filter3. Global Filter全局过滤器4. 自定义过滤器跨域网关作用 官方文档&#xff1a;https://docs.sp…

作者头像 李华