/*
本练习目的是为了验证函数调用过程中,函数对传给它的参数是否
改变。C语言中,参数分为引用参数和非引用参数,非引用参数包括
普通参数,指针参数,数组参数。当形参为非引用参数时,虚实结
合过程为:计算出实参表达式的值,接着给对应的形参分配该形参
类型的空间,然后把实参的值存到形参刚刚分配的空间中,该值作为
形参的初始值。当参数引用形参时,形参名就是实参的一个别名,他们
享用同一内存空间。有时即为了用实参的存储空间又不想改变实参的值,
形参应该申明为常量形参(在形参前家const 关键字)。 (看的是c++
的书,不知到gcc不支持引用,改g++后编译通过,另外函数中是
不允许在定义函数的,只能是外部定义内部调用 )
*/
#include
/*设计一个函数,对传递来的数据进行修改*/
int test (int a)
{
a +=1;
printf("test函数内部的y的值%d\n",a);
return 0;
}
int test1(int &a)
{
a++;
printf("test1:a=%d",a);
return 1;
}
//主函数测试函数参数传递过程中引用和非引用对实参的改变。
int main (void)
{
int y=2;
//非引用参数(普通参数)传递
test (y);
printf("主函数中y的值%d",y);
//引用参数传递
test1(y);
printf("主函数中y的值%d",y);
}
运行结果:
test函数内部y的值3
主函数中y的值2test1:a=3主函数中y的值3
阅读(1406) | 评论(0) | 转发(0) |