所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

在c语言中使用数组必须先进行类型说明。
数组说明的一般形式为:类型说明符 数组名 [常量表达式],……; 其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
数组的长度即为数组中元素的个数。
关于可变长数组(VLA)的问题:原来的C89标准中是不允许可变长数组出现的,但是在C99标准中,加入了对VLA的支持 ,但是支持的编译器不多,而且由于栈溢出的安全问题,没有太多的人敢用这个可变长数组,所以在C11标准中又把它规定为可选实现的功能了 。
byte数组的最大长度是61858764,将近60M。由于short的长度比byte大一倍,所以short数组的最大长度是30929382,是byte数组最大长度的一半,以此类推,int数组最大长度是15464691,long数组最大长度是7732345。
byte数组的长度是1024,应该是1KB的大小
在C语言最基础的教程(谭浩强的)中都提到了要传数组的话,必须要长度参数 函数 int f(int *t) 我们只知道以下信息:
2 函数有一个参数,是 int* 类型
3 函数返回值为 int 类型 这三个信息已经是函数的全部信息了
除常量数组外,数组必须是定长的,如果不知道长度,有几种办法,固定分配一个认为不会出现的维度值,或者对数组进行动态分配,如:
C语言中不支持定义一个没有长度的数组。数组在定义时需要指定其长度,以便分配内存空间来存储数组元素。如果需要存储长度不固定的数据,可以使用指针或者动态内存分配来实现。