一.一维数组
数组也是有类型的,去掉数组的名字就是数组的类型;
[ ]叫做下标引用操作符,我们利用他可以轻松访问任何一个元素,数组的下标是从0开始的,如果不注意,会造成越界访问;定义数组是,如果不指定数组的大小,则数组的大小就由大括号内的元素的个数决定,
%p是打印地址的,通过打印数组中每个元素的地址(以16进制的形式进行打印,而且开头的0不会省略)(%#x可以让打印的结果前面加上0x,x无论大写,小写都可以),我们可以看出数组中的元素是如何排列的;显然,他们之间相差4个字节,那么我们也可以得出,一维数组在内存中是连续存在的
二.二维数组
创建时,行可以省略,但是列不能省略
二维数组也是线性排列的,第一行排列完成后排列下一行;
三.C99引入变长数组
用变量指定数组大小,不是数组的长短是变化的;VS不支持变长数组
strlen求字符串长度,统计的是\0之前的字符的个数,不包括\0;
但是sizeof在计算数组所占内存的大小的时候,不会关心\0;
四.实战演练-----数组元素移动------二分查找
1.多个字符从两端移动,向中间汇聚
2.数组元素的查找,用二分查找法
正常的方法进行遍历