目录
一、数组概念
在C语言中,数组可以储存同一种数据类型的数据,比如储存数字、字符、字符串等等。
例如:
{1,2,3,4,5}是一个数组数组;
{a,b,c,d,e}是一个字符数组;
{how,old,are,you,hello}是一个字符串数组;
二、格式定义
数据类型 + 数组名字 [数组大小,也就是长度] = { 数组的内容,用逗号隔开};
例如:
int arr[5] = { 1,2,3,4,5 };
char str[5] = { 'a','b','c','d','e' };
char sstr[] = "how old are you?";
注意
- 数组定义[]中括号内的数字代表数组的长度,但是单独将arr[]拿出来,里面的数字代表的是数组的 索引 而arr[i]表示的就是i索引具体的数组的某一个值。
- 下面用表格来说明 ,例如该数组:int arr [5] = {1,2,3,4,5};
索引 | 0 | 1 | 2 | 3 | 4 |
对应数组的值 | 1 | 2 | 3 | 4 | 5 |
该数组,长度为5,但是索引是从0开始的,
0索引对应1,
1索引对应2,
2索引对应3,
3索引对应4,
4索引对应5
这是实例:
再次强调:数组中括号内的数字,代表的是数组的索引 !
常见数组的定义方式
一、整型数组
int arr[5] = { 1,2,3,4,5 };
二、字符串/字符
char ch[11] = "HelloWorld";
char ch1[10] = { 'H','e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd', };
三、特例介绍
有时候数组会这样定义:
1、int arr [] = {1,2,3,4,5};
//中括号内没有数字,这是允许的,vs软件会自动计算数组的长度为5,但是不建议这样书写,提高代码的可读性,明了清晰
2、int n = 5;
int arr [n] = {1,2,3,4,5};
有些同学可能会以为这样的定义方式是可以的,但是注意,这是不合法的,不允许的,代码会报错
为什么:因为数组中括号内必须是填入常量值,而不是变量,而这里定义的n是变量,所以不可以