2.11
对数组名称进行sizeof计算得到整个数组大小
数组声明语句执行后其中存储位置的格式就不可改变了
变长数组中存储位置的个数在编写完程序后是不确定的(但在执行过数组声明语句后必须确定),c99规范才支持变长数组
变长数组不可以初始化
int arr[num]={1,2,3}; //错误,不可以初始化
在编写程序时无法确定数值的数字叫随机数
rand()标准函数可以获得伪随机数,直接把函数调用语句当数字使用就可以获得伪随机数,为了使用这个标准函数需要包含stdlib.h文件
srand标准函数用来设置随机数种子,可以把任何一个整数作为种子使用,需要包含stdlib.h文件
time标准函数可以获得0时区从1970-01-040时0分0秒到现在所经过的时间,为了使用这个函数需要包含time.h文件
srand(time(0));//随机数
任何程序中srand标准函数应该只执行一次
一维数组只有一个下标,二维数组有两个下标,他们是两种使用内存中连续存储位置的方法,二维数组中第一个下标用来表示某个分组,可以把这个下标叫做组下标,范围是从0到组的个数减一
二维数组中第二个下标用来表示分组中某个存储位置
通常采用循环嵌套结构对二维数组中所有存储位置依次进行处理
二维数组可以被当成一个一维数组进行初始化,也可以当做多个数组进行初始化
如果根据初始化数据的儿歌书可以计算出组的个数则可以在声明二维数组的时候省略组的个数
二维数组名称也代表第一个存储位置的地址,但它和一维数组名称的类型不同
在sizeof计算中二维数组名称代表整个二维数组,计算结果是二维数组中所有存储位置的大小
一维数组名称和二维数组名称类型不同,他们可以相互转换
对一维数组名称取地址操作结果的类型就是二维数组名称,但数值没改变
转换后的二维数组中只有一组数据,其中包括原来一维数组中的所有存储位置
二维数组名称加一个下标就可以转换成一个一维数组,这个一维数组就是二维数组中的某一组数据的位置