#include<stdio.h>
/*void change(int*a)
{
*a=12;
}
int main()
{
int a=10;
change(&a);
printf(" %d ",a);//12
} */
void change(int&a)
{
a=12;
}
int main()
{
int a=10;
change(a);
printf(" %d ",a);//12
}
这两个代码段都包含一个名为change的函数,但是一个使用指针作为参数,另一个使用引用作为参数。在第一个代码段中,change函数接受一个指向整数的指针作为参数,并将指针指向的整数值更改为12。在主函数中,使用&操作符将整数变量a的地址传递给change函数,从而改变了a的值。
在第二个代码段中,change函数接受一个整数的引用作为参数,并将该整数的值更改为12。在主函数中,直接将整数变量a作为参数传递给change函数,同样改变了a的值。
因此,两个代码段的作用是相同的,即将变量a的值更改为12。只是在实现上使用了不同的参数传递方式。