标准C语言第七天

来源:互联网 发布:火炬之光2mac 编辑:程序博客网 时间:2024/06/05 06:06

数组名称不可以代表存储区。

数组名称代表数组里第一个存储区的地址。

                           /*数组名称

                           */

                          #include<stdio.h>

                           Int main(){

Int arr[5]={0};

Printf(“arr%p\n”,arr);

Printf(“&arr[0]%p\n”,&arr[0]);

Return 0;

}

可以对数组名称进行sizeof计算,结果是整个数组包含的总字节个数。

       Printf“sizeof(arr)%d\n”,sizeof(arr);   20个字节

C99规范里允许声明数组时使用变量表示数组里的存储区个数,这种数组叫做变长数组。

如果程序多次运行则每次运行时数组里包含的存储区个数都不可能改变;在一次运行过程中数组里包含的存储区个数不会改变。

                      Int arr[num];  //变长数组声明

                  

可以使用sizeof关键字九三变长中的总字节个数;变长数组不可以初始化。

 

多维数组除了可以表示多个存储区以外还可以表示这些存储区的分组情况。

不能表示存储区分组情况的数组叫一维数组。

最常见的多维数组叫二维数组,它只能表示存储区的一次分组情况。

声明二维数组的时候需要提供两个整数,第一个整数表示分组个数,第二个整数表示每组里存储区个数。

                                     /*二维数组

                                       */

                                         #include<stdio.h>

                                           Int main(){

Int arr[3][2];//二维数组声明

Return 0;

}

二维数组通常不会作为整体使用,依次只会使用其中的某个存储区。

二维数组名称和两个下标就可以用来表示其中的某个存储区,第一个下标表示分组编号(组下标),第二个下标表示分组内存储区的编号(组内下标)。

组下表范围从0开始到分组个数减一为止;

组内下标范围从0开始到组内存储区个数减一为止。

可以采用多重循环依次处理二维数组里的每个存储区。

                               

可以把二维数组当作一维数组进行初始化。

                     Int arr[3][2]={012345}

也可以把初始化数据进行分组,每组初始化一组存储区。

                    Int arr[3][2]={{01}{23}{45}}

如果可以根据初始化数据的个数计算出分组个数就可以省略二维数组声明中的分组个数。

           Int arr[][2]={{0,1},{2,3},{4,5}};

二维数组名称也可以代表数组里第一个存储区的地址。

二维数组名称不能代表存储区,所以不被赋值。

可以对二维数组名称采用sizeof进行计算,结果是二维所包含的总字节个数。

            Printf(“sizeof(arr)%d\n”,sizeof(arr))