**
一、一维数组
**
一、一维数组定义
定义形势:类型标识符 数组名 [常量表达式]
例子:
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”
如果哪些地方有误或者还有需要注意的地方欢迎大佬留言指出,谢谢大家观看
如果你觉得这期视频还不错的话,能否给个免费的赞呢!谢谢谢谢!