注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 校园网重规划
 帮助

函数与数组


2007-12-14 17:04:31
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://298452.blog.51cto.com/288452/55172
    int sum_arr(int arr[],int n) 和 int sum_arr(int* arr,int n) 在用于函数头和函数原型中时是等价的。在前者中的arr实际不是一个数组,而是一个指针,但可以当作数组来使用,旨在提醒用户arr不仅指向int,而且还指向第一个int。
    arr[i]=*(arr+i),&arr[i]=arr+i  指针(包括数组名)加1,实际上加上一个与指针指向的类型的长度(以字节为单位)相等的值。但对于数组而言,用指针加法和数组下标是等效的。
    c++按值传递数据时函数使用数据拷贝,但接受数组名参数的函数访问的是原始数组,而不是其拷贝。所以可以通过调用该函数给数组赋值。c++为了防止意外更改数组中的内容,可以在申明形参时使用关键字const,如int sum_arr(const int arr[],int n);这意味着不能在sum_arr函数中用arr来修改数组中的数据。 

本文出自 “lion_pc” 博客,请务必保留此出处http://298452.blog.51cto.com/288452/55172



 下一篇 指针与const



    文章评论
 
2007-12-14 17:29:41
了解了解。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: