一、字符串
字符串就是0个或多个“字符”组成的“有序”序列。
- 字符串长度:字符串包含的字符个数
- 字符串结束符:在c语言中,为了便于存储字符串,要求在最后一个字符的后面存储一个0(一个字节)。这个0,成为“字符串结束符”,常用“\0”表示。“axin” => ‘a’ ‘x’ ‘i’ ‘n’ ‘\0’ ; “” => ‘\0’
- 字符串常量:要求用“”括起来。printf(“name=%s”,“axin”); //%s用来匹配字符串。
- 字符串的存储:在c语言中,字符串是以“字符数组”存储的。
二、数组
什么是数组
- 数组就是多个元素的“组合”。
- 每个元素的数据类型,必须相同!
- 每个元素的数组中有一个“下标”,用来表示它在数组中的“序号”,下标从0开始计算。
- 数组的“容量”是不能改变的。
数组的定义
数组和其他变量一样,需要先定义,再使用。
实例:
int a[8]; //定义了一个数组,数组名是“a”,包含8个元素,每个元素是int类型的变量。
a[0] = 20; //写入,第零个赋值为20
a[1] = 5;
printf("%d",a[1]); //读取数组
数组的初始化
在定义数组的同时,设置数组内的元素值。
int a[8] = {20,5,30,13,18};
printf("%d,%d,%d,%d,%d",a[0],a[1],a[2],a[3],a[4]);
int a[8] = {0}; //把数组的所有元素都初始化为0
int b[8] = {1,5}; //把a[0]初始化为1,a[1]初始化为5,其他值都初始化为0.
int a[] = {1,2,5}; //定义数组a,这个数组包含3个元素!根据“初始化列表”,自动计算数组的容量。
- sizeof()可以用来计算变量占用的内存。
常见错误
int a[2] = {1,5,2}; //错误!初始值太多,大于数组的容量。
int a[3];
a = {1,2,3}; //不能对数组名直接赋值!
int a[3];
a[3] = 10; //下标越界!下标的取值范围是0,1,2
数组的越界
数组的越界,是指下标超出正常的范围!
后果:可能导致数据破坏或其他不可预期的后果!
越界的控制需要程序员自己手动控制,编译器不做任何检查。