俗话说“磨刀不误砍柴工”,所以先从简单的数组理解开始看起吧.,也就是从数组开始。
一维数组:
数组--意义:用于存放一组相同类型的元素的内存空间。
数组--形式:1.数组可用(以arr做名为例)arr为名,内含x个元素为空间获得。
int arr [ x ];
2.也可不定义内存空间,直接定义,但须注意,直接定义则需定义后面内存的元素。
int arr[] = {1, 2, 3, 4};
值得注意的是,在使用sizeof 与 &(数组名)时,数组名代表的是整个数组,其余情况下,使用
数组名时,数组名代表的都是首元素地址
因此我们不难得出,当使用 sizeof( arr + 0 )时(以int类型为例)得出的结果不是 sizeof(arr)的值,即:
int arr[10];
sizeof (arr); //---- 40
sizeof (arr + 0); //---- 4
sizeof (arr) != sizeof (arr + 0);
二维数组:
二维数组--意义:将一维数组视作一个元素后,用于存放一组相同类型的元素的内存空间。
二维数组--形式:1.和数组差异并不大(同样以arr为名),不过数组名后跟着两个[],前一表示“行”,后一表示“列”
int arr[2][2] = {1,2,3,4}
//实际的形式会是这样:arr[2][2]={1,2
3,4};
2.可以省略了“行”,不过就像一维数组一样,一定要完全初始化,即:arr[ ][ 2 ]={ 1,2,3,4};
它会自己分配空间成为[2][2];