一、数组
数组和一般变量的定义方式相似,不同的是你需要给数组一个大小,而数组的内容一般默认为0,你也可以自己给数组赋值,可以全部赋值,也可以只给一部分赋值,但都需要用 { } 括起来
下面的数组也叫一维数组,二维数组的定义方式在后面
char arr[6];
int a[6]={1,2,3,4,5,6};
int a[6]={0};
数组和一般变量的区别在于数组里是有多个元素的,把数组看作一个集合,你每次改变的只是数组里的一个元素,把数组看作一个家,里面的不同元素就对应你家里的几口人,把数组看作一顿饭,里面的不同元素就对应这顿饭有那几道菜
既然数组里有不同的元素,自然需要一种方式让我们能准确使用到每个元素,这就是下标
下标是从0开始的,也就是说,若你定义数组a[ ]时的大小是6,那这个数组是不存在a[6]的
int a[6]={1,2,3,4,5,6};
//a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5,a[5]=6,没有“a[6]”
也可以把数组放到坐标系中,如数组a[6],就是一条坐标轴的非负半轴上的六个点,这六个点仅仅代表数组的六个元素的表达方式,以及如何理解下标,数组的值在坐标系里是体现不出来的
二、二维数组
二维数组的定义大同小异,唯一的区别就是需要给两个数组大小
int a[5][5]={0};
把一维数组放在坐标系里,就是一条线,线上的点有他代表的值,而二维数组在坐标系里就是一个面,面上的点有他代表的值
一维数组和二维数组的关系看一开始的图即可,至于更高维的数组,如三维数组,在入门阶段用不到
三、字符串
字符串就是char(字符型)的数组,汉字算两个字符,一些奇奇怪怪的文字,如火星文无法被识别,在输出时对应“%s”
下面的字符串有六个字母和两个中文,一共占十个字符大小,但所有数组的最后面其实自带一个被隐藏起来的“\0”,这个整体算作一个字符大小,表示数组结束了,以后在考虑多个数组之间的连接时就需要考虑到这个“\0”
#include<stdio.h>
int main()
{
char arr[11] = "Wisdom丶文";
printf("%s", arr);
return 0;
}
//运行结果:Wisdom丶文