所谓数组,就是相同数据类型的元素按一定顺序排列的集合,c语言里面使用数组,是要先定义数组长度再进行初始化的。或者直接初始化,由编译器自己计算出数组的长度
什么情况下可以不用指定数组长度:
在对全部数组元素赋初值时,可以不指定数组长度。(就是上面的那个直接初始化,由编译器自己计算出数组长度)
其他情况下都需要。
小甲鱼再啪啪啪视频里面提到的那个字符串,字符串是以\0为结尾的,代表符号为%s,跟字符数组不一样。
理论上动态数组比如说i=10; a[i]; 在c语言中是不被允许的,数组定义在程序中间也是不会被通过的.但是新的标准是支持的。
关于数组的越界访问:比如说定义一个数组a[10],长度为10。 但是当我们赋值11个的时候,比如a[10]=10,还是可以通过编译,但是是修改不了第十一个元素,因为是编译器自动复制给了这块不属于数组的内存空间,为的是保护程序不崩溃。所以是用户无法修改的。但是这种操作是不正确的,要避免。
就酱~