编程小白学习C语言基础篇——数组

目录

0.0数组的基本概念

认识数组

1.0一维数组

1.1数组的初始化 

1.2设置数组为只读形式

1.3调用数组元素

1.4计算数组元素个数

1.5其他

1.6一维数组实例

2.0二维数组

2.1区分一维数组

2.2二维数组初始化

2.3调用二维数组元素


0.0数组的基本概念

文心一言这样说:数组(Array) 是一种在大多数编程语言中都存在的数据结构,用于在单个变量中存储多个同类型元素的集合。这些元素可以通过索引来访问,索引通常是一个从0开始的正整数。

个人理解:数组从字面上理解是一些数的组合

在C语言中,数组是由一系列数据类型相同的元素组成(注意这里说的不单单是1、2、3这样的数字),在使用数组时注意声明数组的类型和元素个数。数组的特征是[ ]中括号。

这里插一句,当你学完指针之后你会发现数组其实是指针的一种展现形式,在各类书本上也常常将数组和指针放在一起来阐述,所以想学好C语言中最难的指针,先要搞明白数组。

认识数组

先来认识一下不同类型的数组

int main()
{
int code[20]      /*内涵20个整形元素的数组*/、
float code[63]    /*内涵63个浮点元素的数组*/
char code[100]    /*内涵100个字符串元素的数组*/
}

code为数组的数组名       类型+数组名+[元素个数]  这就是一个基本的数组

1.0一维数组

1.1数组的初始化 

int code [5] ={1,2,3,4,5}

上述数组 是一个标准的、合法的数组,数组大小等于元素个数。

在初始化数组时,当指定数组大小时,数组元素个数应<=数组大小,元素<数组大小时 补0

int code1 [5]= {1,2,3,4}
//这里不完全初始化 最后少一个 补0

int code2 [5]= {1,2,3,4,5,6}
//错误初始化 初始化项太多

int code3 [5]= {1,2,3,4,5}
//完全初始化

1.2设置数组为只读形式

关键字const

const int [month] = {30,31,28,29}

const int [month] = {30,31,28,29}

这样数组只可读了,不能被编辑

1.3调用数组元素

在C语言中数组是有下标的,下标就是每一个元素的名字,用数组名和下标能确定数组中的唯一一个元素,数组中的下表从0开始。假设一个数组中有n个元素,那么最后一个元素的下表就是n-1

int code [5] ={1,2,3,4,5]

#include <stdio.h>

int main()
{
int code [5]={1,2,3,4,5}
printf("%d",code[2]);          //3
return o;
}

在代码中  操作符[ ],在此称为 下标引用操作符,在访问数组元素时使用 

1.4计算数组元素个数

关键字: sizeof

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int code[5] = { 1,2,3,4,5 };
    printf("%d\n", sizeof(code));
    return 0;
}

这里输出结果,计算的是数组所占内存的空间大小,单位是字节

有时候我们已知元素个数的情况下,知道一个元素字节的大小(数组元素是相同的每个元素所占用的内存大小相同),就可计算出整个数组所占内存空间的大小。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int code[5] = { 1,2,3,4,5 };
    printf("%d\n", sizeof(code[4]));
    return 0;
}

1.5其他

数组中每一项的打印通常和for循环连用,在此不在展示,可自己尝试

在计算机内存中数组中的元素储存都有其特定的位置,这里和指针相联系,在指针中详说。

1.6一维数组实例

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define MONTHS 12
int main()
{
	int day[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
	int a;
	for (a = 0; a < 12; a++)
		printf("非闰年 %2d 月有 %2d 天\n", a + 1, day[a]);
	return 0;
}

实现了非闰年各月天数的打印

2.0二维数组

2.1区分一维数组

上面阐述的数组被称为⼀维数组,数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元
素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。

二维数组基本形式:

int code [3][5];

double code2 [3][5];

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

int  double 是数组类型  ,code是数组名

2.2二维数组初始化

在创建变量或者数组的时候,给定⼀些初始值,被称为初始化
像⼀维数组⼀样,也是使⽤⼤括号初始化的
int code1 [2][5]= {1,2,3,4}
//这里不完全初始化 少的补0

int code2 [][5]={1,2,3,4,5}
//初始化时可以省略行但不能省略列

int code3 [1][5]= {1,2,3,4,5}
//完全初始化


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

2.3调用二维数组元素

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

在代码中  操作符[ ],在此称为 下标引用操作符,在访问数组元素时使用 

数组中的下表从0开始

有关数组的基本内容就介绍到这里,当然数组的学习远不止如此简单。

有关地址的问题 将放在指针中为大家详解。

编程学习之路漫漫,行则将至,让我们共同努力。

  • 76
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值