c语言的形参可以设为指针型的如 int *a ,但还可以设为 int &a 想问这两个的差别

[复制链接]
查看11 | 回复4 | 2010-6-28 16:40:57 | 显示全部楼层 |阅读模式
比如我要传一个数组x[5],那么实参应该是数组名x ,那形参为int *a和int &a有什么区别?

回复

使用道具 举报

千问 | 2010-6-28 16:40:57 | 显示全部楼层
int *a 是用指针变量做形参.int &a 是用引用做形参.区别如下:用指针的话是间接方式访问传进来的地址对应的变量的内存空间.如果是用引用的话,当然c里没有引用的概念, 只c++引进的一个概念.引用是变量的别名 , 所以跟直接访问变量本身一样, 只是换个名字而已, 实质是对传进来的变量本身操作, 而并非拷贝.
回复

使用道具 举报

千问 | 2010-6-28 16:40:57 | 显示全部楼层
int *a 形参是指针,int &a 形参是引用.c语言中只有指针的概念,c++中才有引用的概念。指针是间接方式访问传进来的地址对应的变量的内存空间;引用是变量的别名 , 所以跟直接访问变量本身一样, 只是换个名字而已, 实质是对传进来的变量本身操作。
回复

使用道具 举报

千问 | 2010-6-28 16:40:57 | 显示全部楼层
int *a是指针int &a 是引用。不过引用是C++中的,C中是没有引用的。。。
回复

使用道具 举报

千问 | 2010-6-28 16:40:57 | 显示全部楼层
int *a是指针int &a 是引用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行