踏雪有痕-数组





1、 数组定义必须制定维数值(显式初始化例外,下面讨论),且维数值必须是常量表达式,也就是说必须是能在编译时刻计算出的值,非const的变量不能用作数组维数。
  
2、
同变量一样,全局数组定义后系统会自动初始化,局部数组则不会。
    数组也可以显式初始化,此时可以不制定维数值,编译器会根据初始化的元素个数确定维数值:
        int  pi[] = {1,2,3};
    如果这种情况下制定维数值,那么初始化列表提供的元素个数不能超过这个值。
    相反,如果指定的维数大于元素个数,那么其余元素置为0。

    字符数组有两种显式初始化方法,但有区别:
       char  ccc1[] = {'P','l','u','s'};
       char  ccc2[] = "Plus";
    以上两个数组不是相同的,ccc1维数是3,ccc2维数是4(多一个终止空字符)。

3、一个数组不能被另外一个数组初始化,也不能赋值给另外一个数组(这两句话是否一个意思?)。
     不允许声明引用数组。

4、数组标识符代表数组第一个元素的地址。
    
pi 和 & pi [0] 是等价的,都返回数组的第一个元素的地址。
     *
pi pi [0] 是等价的,都返回数组的第一个元素。
     同样,
pi +1和&pi[1]都表示第二个元素的地址。
     *(pi+1) 和pi[1]都表示第二个元素。
     注意
,*(pi+1)和 *pi+1 两个表达式有不同含义,因为解引用操作符的优先级比加法运算符高。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值