数组的初始化与使用

C语言数组的基本概念

数组是一种数据结构,用于存储相同类型的多个元素。通过索引访问元素,索引从0开始。数组在内存中连续分配空间,大小固定,声明时需指定长度。

数组的声明与初始化

声明数组需指定类型和大小:

c 复制代码
int numbers[5]; // 声明包含5个整数的数组  

初始化可在声明时完成:

c 复制代码
int numbers[5] = {1, 2, 3, 4, 5}; // 完全初始化  
int partial[] = {1, 2}; // 自动推断长度为2  

多维数组

C语言支持多维数组(如二维数组):

多维数组就是多个相同类型的一维数组在一起;

c 复制代码
这几种写法都是相同的功能:
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}}; 

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

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

访问元素通过多层索引:

c 复制代码
int value = matrix[1][2]; // 获取第二行第三列的元素(值为6)  

二维数组使用

注意:数组下标是正整数;初始化数组数量一定要书写。

再重温几个类型解构:

int

int 是整数类型,通常占 4 字节(32 位),范围约为 -2,147,483,648 到 2,147,483,647。具体大小可能因编译器和平台而异,但现代主流系统中普遍为 4 字节。

char

char 是字符类型,固定占 1 字节(8 位),范围通常为 -128 到 127 或 0 到 255(取决于是否带符号)。主要用于存储 ASCII 字符或小整数。

float

float 是单精度浮点数类型,占 4 字节(32 位),遵循 IEEE 754 标准,精度约为 6-7 位小数。范围约为 ±3.4e⁻³⁸ 到 ±3.4e⁺³⁸。

double

double 是双精度浮点数类型,占 8 字节(64 位),精度约为 15-16 位小数。范围约为 ±1.7e⁻³⁰⁸ 到 ±1.7e⁺³⁰⁸。相比 float,提供更高的精度和更大的数值范围。

数组越界:

我们在定义数组时候;假如为 arr10={1,2,3,4,5,6,7,8,9};第十个默认为0;那么第十一个呢?

让我们代码试验一下:

有运行结果可以知道;未定义为0;超过定义的为乱码;

现在我们通过几个例子来实现数组的进一步了解;

1:打印出来数组里的数字:

cs 复制代码
#include <stdio.h>
#include <string.h>
int main()
{
	int arr[6] = { 1,1,0,1,2,0 }; //声明定义数组里面的内容
	for (int i = 0; i < 6; i++)   
	{
		printf("%d  ", arr[i]);  // 打印出下标为i的arr数组内容;
	} 


	return 0;
}

2:打印出不同类型的数据字节长度:

cs 复制代码
	int a = 6;   //整数型
	char b = 'c';  //字符型
	float c = 1.222;  //单精度浮点型
	double d = 245.0;  //双精度浮点型
	printf("%d\n", sizeof(a));
	printf("%d\n",sizeof( b));
	printf("%d\n", sizeof(c));
	printf("%d\n", sizeof(d));

3:利用所学知识画出一个方框:

cs 复制代码
for (int i = 0; i < 10; i++)
{
	for (int j = 0; j < 10; j++)
	{
		if (i == 0||j==0||i==9||j==9)printf("*");
		else printf(" ");
		
	}
	printf("\n");
}

课后:输入一行数字;让其逆序输出:例如:123456 654321.(答案代码在代码库)

相关推荐
GreenTea3 分钟前
深度拆解 ScienceBuddy:如何用“双层递归自进化”构建高可靠科研 Agent Harness
前端·后端·算法
花椒技术12 分钟前
2.46 秒生成 5 秒视频:拆解 H3 Max 的模型、推理栈与硬件协同
算法·音视频开发·视频编码
vivo互联网技术19 分钟前
ART:妆容迁移框架,重新定义高保真妆容迁移 | ECCV 2026
人工智能·算法·图像识别
用户04414409244922 分钟前
卫星信号模拟器里的四个坐标转换公式
算法
橘和柠32 分钟前
阿里 open-code-review (AI代码审查工具)实战:安装、四层规则链、自定义规则格式与实测避坑
算法·面试
得物技术32 分钟前
别再只卷向量检索了,得物交易搜索如何用“生成式”实现召回范式跃迁?
人工智能·算法·llm
罗西的思考32 分钟前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(4)--- Rollout实现细节
人工智能·算法
罗西的思考43 分钟前
机器人 / 物理 Agent Harness 综合分析与对比:从「更强的模型」到「更好的系统」
人工智能·算法·机器学习
库玛西44 分钟前
攻克 408 数据结构:图论基石深度拆解(数学极值推演 + 存储内存剖析 + BFS/DFS 双核模板)
数据结构·算法·深度优先·广度优先·图搜索算法
晓蛋5 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例