*** 数组 ***
一、 定义和初始化
注意点:
1、 int a[]; //错误,定义时不能不指定元素个数
2、 int n = 3;
int a[n] = {1,2,3}; //错误,元素个数必须为常量或常量表达式时才能在定义时初始化,如果是变量或变量表达式,不能初始化。
二、 内存中的存储
数组在内存中存储为一段连续的内存空间,数组元素在这段空间中的存储是由小到大的。
三、 数组与函数
1、 在用数组名传递地址时,形参复制了实参的地址,所以函数操作的和实参是同一个数组,能够修改原数组元素的值。
2、 把数字名传递到函数中,其实是传递了一个数组指针。所以如果函数需要知道数组大小,还应传递给函数这个数组中的元素个数。
*** 字符串 ***
字符串通常以""表示,用到""时会自动在后面加\0字符。
我们是用字符数组来存储字符串的。
一、 初始化
常用方法:
char c[10] = "abcd";
char c[] = "abcd"; //可以不指定数组个数
字符串都是字符数组,但不是所有的字符数组都是字符串。
二、 内存中的存储
因为字符串本身就是一个数组,所以它和数组存储基本一样。
字符串的最后都是以\0字符结束,如果一个字符数组不是以\0结束,或者中间有\0字符,是会影响运算结果的。
三、 strlen函数
此函数用来计算字符串长度,是在<string.h>中声明的。(不包括\0)
计算的是字符数,不是字数。(一个汉字占三个字符)
四、 字符串数组
用来存放多个字符串,类似二维数组。
格式:char c[2][10] = {"abcd","qwer"};
详细请查看:
www.itheima.com