【C语言笔记】数组

  • Post author:
  • Post category:其他


**



一、一维数组

**

一、一维数组定义

定义形势:类型标识符 数组名 [常量表达式]

例子:

int num [3];

//int类型标识符 num数组名称 3常量表示数组有3个元素

注:下标从0开始 分别为:int num [0] int num [1] int num [2]共三个(个数由定义元素决定)

int num [0] int num [1] int num [3]
1 2 3

二、一维数组元素初始化

1.全部元素初始化:

int num [3]={0,1,2};


部分元素初始化:int num [3]={0,1,0};注:未初始化的全为0

2.在赋值时可以不指定长度

int num[3]={0,1,2};可以写成int num[ ]={0,1,2};

3.一个数组元素全部为0

int num[3]={0,0,0};也可以写成int num[3]={0};

例题:十个整数比大小输出最大值

#include<stdio.h>
int main()
{
	int a[10], i, max;
	for ( i = 0; i < 10; i++)
	{
		scanf("%d", &a[i]);//scanf()和printf()不能一下处理多个数组只能逐个处理
	}
	max = a[0];
	for ( i = 1; i < 10; i++)
	{
		if (max < a[i])
			max = a[i];
	}
	printf("最大值是%d", max);//scanf()和printf()不能一下处理多个数组只能逐个处理
	return 0;
}



二、二维数组

一、二维数组的定义

定义形势:类型标识符 数组名 [常量表达式1] [常量表达式2]


int a[3][4];

//表示a是一个二维数组,有三行四列一共十二个元素,与一维数组相似,二维数组的每个下标也是从0开始,该数组下标共有3*4个

a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]

二、二维数组的元素初始化

1.按顺序依次初始化


int a[2][2]={1,2,3,4};


表示为:int a[0][0]=1、int a[0][1]=2、int a[1][0]=3、int a[1][1]=4

2.按行初始化

int a[2][2]={

{1,2},{3,4}};

int a[2][2]={

{1},{3}}

表示为(每一行未初始化的元素取值为0)

1 0
3 0

3.如果对前部元素赋值,第一维长度可以不给出

例如:int a[2][2]={1,2,3,4}可以写成int a[ ][2]={1,2,3,4}



三、字符数组(用来存放字符的数组)

一、字符串

例如:HELLO所占六个字符,前五个为有效字符分别是’H’ ‘E’ ‘L’ ‘L’ ‘O’第六个字符为’\0’是系统自动添加的结束语。‘H’ ‘E’ ‘L’ ‘L’ ‘O’ ‘\0’六个

c语言规定以’\0’作为字符串的结束标志,在处理字符串过程种遇到’\0’就表示已经到了字符串的结尾。

二、字符数组的定义

字符数组的定义方法:char 数组名 [常量表达式];

例如

char a [5]

;定义了一个数组a,里边有5个元素。

三、字符数组元素赋值

如果要给一个字符数组0号元素赋值a[0]=‘1’

四、字符数组元素的初始化

1.各个元素初始化


char ch[5]={‘H’,‘E’,‘L’,‘L’,‘O’};


——————————————-每个元素赋值如下:———————————————–

ch[0]=‘H’ ch[1]=‘E’ ch[2]=‘L’ ch[3]=‘L’ ch[4]=‘O’

当提供的初值少于数组元素个数时,将只为数组的前几个元素赋初值,其余元素将自动被赋予空字符。如果初值大于数组元素个数时,则产生错误语法。

2.为全体元素赋值时也可省略长度说明

例如:char ch[ ]={‘H’,‘E’,‘L’,‘L’,‘O’};表示长度为5

花括号可以省略写成char ch[ ]=“HELLO”

如果哪些地方有误或者还有需要注意的地方欢迎大佬留言指出,谢谢大家观看

如果你觉得这期视频还不错的话,能否给个免费的赞呢!谢谢谢谢!



版权声明:本文为jos_a原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。