预习数组与指针

1.数组的下标总是从0开始吗?

是的,对数组a【max】来说,它的第一个和最后一个元素分别是a【0】a【max-1】

注意:a【max】是一个有效地址,但该地址并不是数组a的一个元素。  有时候容易把数组中的第一个元素认为是下标唯一的元素,其实并不是

首个元素下标为1

2.可以使用数组后面第一个元素么?

可以使用后面第一个元素的地址,但不可以查看该地址的值。

for(i=0; i<max ; ++i )

{

    /*do something*/

}

代替

for(p=a ; p< &a [max] ; ++p )

{

    /*do something*/ 


}

5.数组作为参数传递给函数时,可以通过sizeof得到数组的大小吗?

不可以,当把数组作为函数的参数时,你无法在程序运行时通过数组参数本身告诉函数该数组的大小,因为函数的数组参数相当于指向该数组第一个元素的指针。

e.g.

char  source[ max ] , dest [ max ] ;

/*......*/

memcpy(dest,source,max);

第二种方法:引入某种规则来结束一个数组

void  printMany( char  * string [1])

{

    int  i ;

    i=0;

    while(string[ i ] !=NULL)

    {

         puts( strings [ i ]);

          ++i ;

     }

}


   




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值