数组是一堆相同类型元素的集合
数组长度要求是常数值
但是在C99标准之前 数组的大小是必须是常量或者是常量表达式
但在C99之后 数组的大小可以是变量 是为了支持变长数组
eg
所以这玩意不能初始化
再次创建数组的同时给值
这两种写法效果相同,但是本质不同
上面只是放入了3个 下面的多一个\0
还有这种方法
下标引用操作符
求个数
总结,数组是有下标来访问的,第一个下表是0
数组的计算是可以通过计算得到的
这个地址是16进制的
而且每个地址差四
第一个括号里是行 第二个括号里是列
如果你不用括号分组,那么第一行列排满了就会自动排第二排
如果分组的话,下一组就是在下一列
然后是二维函数,尽量给大小,列必须有 行可以没有
而且二维也是0开始的
而且二维的使用就需要嵌套循环了
然后是他们的字节还是查四
也是连续的
数组的下标范围,是由范围限制的
从0开始 到设置的元素个数n-1,如果访问下标小于 0或者大于n-1 那么就是访问越界了,超出了数组的合法空间,就越界了,此时编译器不一定会报错,但是程序是错误的。
结果是
而且一维数组和二维数组都会越界 反正不要越界
比如排序数组内数字
数组名可以认为是数组首元素的地址
还有指针式
二维数组的指的是 它所对应的行的地址
直接增加了16
第一行的数组大小
算出的是行数
算出的是列数
然后是 &arr 如果arr是二维数组 那么取得就是整个二维数组的地址