【C语言】数组


思维导图:
在这里插入图片描述

一维数组

基本概念

数组:由数据类型相同的一系列元素组成。(简单来说:装同一种类型东西的容器)

一个存数据的东西,那么,它的操作无非就是,增删改查


声明

数组的声明跟普通变量有什么区别呢?

先来看一下声明的语法格式:

类型 数组名 [数组长度];


见下面操作

	int arr1[10]; // 内含10个int类型元素的数组
	char arr2[10]; // 内含10个char类型元素的数组
	float arr3[10]; // 内含10个float类型元素的数组
	double arr4[10]; // 内含10个double类型元素的数组

所见,也没有什么太大的区别,只是多了个方括号( [ ] ),这个方括号表明了,arr1,arr2 …是数组,方括号中的数字表示数组的长度。

注:数组的下标是从零开始。数组长度只能是整数常量



初始化数组

额,不知道你们有没有这么一个疑问,假设它是一个容器,就像,我在超市里面买一个杯子,那我这个杯子,无论清洗还是不清洗,只要这个杯子不损坏,我都可以使用。那么这个数组,不能同理嘛?

顺着这个思路,来进行往下走,如果数组不初始化,直接使用,会发生什么样的事情呢?


见下面操作
在这里插入图片描述

如上图所示

如果没有初始化,这个容器中的数值,都是一些垃圾值。(在12行,设置了断点)


那继续看一下,对一个数组进行初始化,这个图会有什么发生变化(把数组中所有的数据为0)?


见下图
在这里插入图片描述
可见,如果不初始化,数组,那么这个数组是危险的。


OK,说完为什么要进行初始化,那么下面,来看初始化的几种方式:

	// 编译器会自动将数组中的所有元素初始化为0
	int arr1[10] = {
   0}; 

	// 这时,编译器会自动计算数组长度,并对其进行初始化
	int arr2[] = {
    1, 2, 3 }; 
	
	// 数组的前三个元素会被赋值为1,2,3,剩下的元素会被自动初始化为0
	int arr3[10] = {
    1, 2, 3 };

访问数组中的元素

学会了装东西,那么接下来的操作,就是取东西。

在数组中,每个元素的都是有标号的,前面有讲过,数组的下标是从零开始。


下面直接莽

#define _CRT_SECURE_NO_WARNINGS// 强行除去安全检查
#include <stdio.h>
#include <stdlib.h>

int main()
{
   
	// 声明一个整型的数组
	int arr[5] = {
    1, 2, 3, 4, 5 };
    
    /*
    	在这里,偷懒一下,直接使用循环
    */

	// 遍历数组
	for (int i = 0; i < 5; i++) // 这里知道数组的大小,直接填写
	{
   
		printf("%d ", arr[i]);
	}
	printf("\n");



	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

那,假设输入一个错误的下标,这时程序会怎么样呢?

见下面操作:

#define _CRT_SECURE_NO_WARNINGS
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值