挑战30天C 入门极限:对C 中引用的补充说明(实例)
文章作者 100test 发表时间 2007:03:10 17:13:56
来源 100Test.Com百考试题网
#include <iostream>
#include <string>
using namespace std.
void main(int argc,char* argv[])
{
int a=10.
int b=20.
int &.rn=a.
cout< cout<<&.rn<<"|"<<&.a<//c 中是无法取得应用的内存地址的,取引用的地址就是取目标的地址!
rn=b.//把引用指向另一个目标----变量b
cout<<&.rn<<"|"<<&.a<<"|"<<&.b< rn=100.//试图改变b的值
cout<//输出修改后的结果
cin.get().
}
由于引用本身就是目标的一个别名,引用本身的地址是一个没有意义的值,所以在c 中是无法取得引用的内存地址的。取引用的地址就是取目标的地址,c 本身就根本不提供获取引用内存地址的方法。
引用一单初始化,就不在能够被指向其它的目标,虽然编译不会出错,但操作是不起作用的,实际上还是指向最先指向的目标。
上面代码中的rn=b实际在计算机看来就是a=b,所以修改的还是a的值。
#include <iostream>
#include <string>
using namespace std.
void main(int argc,char* argv[])
{
int a=10.
void &.rn=a.// 错误的,void即无类型的类型
int a[100].
int &.ra[100]=a.//错误,不能声明引用数组
cin.get().
}
上面的两错误要记住引用的特性,void修饰是不能够声明引用的,引用是不能够声明数组的,即不能够声明引用数组。