1)数组:
一、 定义和初始化
注意点:
1、 int a[ ]; //错误,定义时不能不指定元素个数 int a[5]; // 正确
2、 int ages[5] = {19,29,44,89.32}; // 正确,定义的同时进行初始化
int ages[5];
ages = {19,29,44,89.32}; // 错误,整体初始化只能在定义的同时进行。
ages[0] = 19; ages[1] = 29; ....... // 只能逐个初始化成员
二、 内存中的存储
数组在内存中存储为一段连续的内存空间,数组元素在这段空间中的存储是由小到大的。
数组名和数组第一个元素的地址,就是数组的地址。
三、 数组与函数
1、 在用数组名传递地址时,形参复制了实参的地址,所以函数操作的和实参是同一个数组,能够修改原数组元素的值。
2、 把数字名传递到函数中,其实是传递了一个数组指针。所以如果函数需要知道数组大小,还应传递给函数这个数组中的元素个数。
四、遍历数组:按顺序查看数组的每一个元素:
for (int i = 0; i<5; i++)
{
printf("ages[i] = %d\n", i ,ages[i] );
}
2)字符串
字符串通常以""表示,用到""时会自动在后面加\0字符。
我们是用字符数组来存储字符串的。
一、 初始化
常用方法:
char name[5] = "Jack";
char name[ ] = "Jack"; //可以不指定数组个数
字符串都是字符数组,但不是所有的字符数组都是字符串。
二、 内存中的存储
因为字符串本身就是一个数组,所以它和数组存储基本一样。
字符串的最后都是以\0字符结束,如果一个字符数组不是以\0结束,或者中间有\0字符,是会影响运算结果的。
三、 strlen函数
此函数用来计算字符串长度,是在<string.h>中声明的。(不包括\0)
计算的是字符数,不是字数。(一个汉字占三个字符)
四、 字符串数组
用来存放多个字符串。
格式:char name[2][10] = {"Jack","Julia"}; // 表示这个字符串可以存储2个字符串,每个字符串最大长度为10
|
|