C中有关数组的说明

本文详细介绍了C语言中数组的各种特性及使用方法,包括数组声明、初始化、赋值、多维数组初始化以及数组名的含义等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面介绍一下关于数组的一些说明:

 

  1.  在数组声明时必须定义数组长度,但也可利用空的方括弧[]对数组初始化,使编译器自动根据列表中的值自动计算数组长度。 例:
                        int array[12];
                        int array[]={1,2} //
          但是若数组声明的方式是这样的:
                        int array[12] = {1,2}  //其余未被声明的会初始化为0
               即:如果不初始化数组,数组元素和未初始化的普通变量一样,其中存储的是无用的数组;但若部分初始化数组,为初始化的元素则被设置为0.
   2.   C不支持把数组作为一个整体来进行赋值,也不支持用花括号括起来的列表形式进行赋值(初始化的时候除外) 例:
#define SIZE 5

int main(void)
{
   int oxen[SIZE] = {1,2,3,4} //这里可以
   int yaks[SIZE];
 
   yaks = oxen;                  //不可以
   yaks[SIZE] = oxen[SIZE]; //不正确
   yaks[SIZE] = {4,5,5,7};   //不起作用
}
    3.二维数组初始化
         int rain[3][3] = { {1,2},
                                {3,4,5},                           //用这种方式初始化相当于 1,2,0,3,4,5,1,0,0
                                {1}
                              }
        或
        int rain[3][3] = {1,2,3,4}      //用这种方式初始化相当于1,2,3,4,0,0,0,0,0
    4.关于数组名
           int array[12];
        以这种方式声明数组时,数组名其实是数组第一个元素的地址即与&array[0]等价,也就是说array是一个地址常量。可以用array +1 表示数组中第二个元素的地址,但不能用++array形式,因为++后面只能接变量而不能接常量。

   5.array[1] 和*(ar +1 )是等价的,而且不管ar是一个数组名还是一个指针变量,这两个表达式都可以工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值