int & 变量名和int * 变量名区别
- C/C++ code
void change(int * n){ *n=*n+10; } void change01(int & n){ n=n+10; } int a=25; //change(&a); change01(a); printf("a=%d\n",a);
这两个方法都能完成请问有什么区别啊?
[解决办法]
C里没有引用。最好写代码写规范点。免得把C和C++的界限弄混了
[解决办法]
如果你使用 MS VC 编译器, 加参数 /Tc, compile as C
如果你使用 Intel 编译器, 加参数 /Qstd=c99
限定编译器,以C 来编译代码
否则,日久,都还不知道自己写的是 C++ 和 C 的杂交产物
[解决办法]
16楼正解
C语言中没有引用,你的代码使用纯C的编译器是没法通过的,可以试一下
linux里面可以用gcc
[解决办法]
[解决办法]
在c的环境下一般都是用指针,指针和引用的区别在于,指针是通过一个地址去存取一个数据,指针本身表示一个地址,引用不是地址,相当于那个数据的别名,引用在c++里用的多。
[解决办法]
[解决办法]
作为形参,chang(int &n),与chang(int* p )同样的效果,因为都是址传递,变量共用同一个存储空间。效果一样, 两种用途,因人而议,指针掌握的不错,两种用法都行,更加趋于对概念的理解。
[解决办法]
为什么没有显示回答问题的各个时间。。
其实我觉得c语言已经不是很纯净了。。。注意区分,这也是大家使用像vc之类的编译器的原因吧,能够通过并不代表是标准C.
[解决办法]
c语言中只有*,实参必须取地址,c++中增加了引用&,实参可以用元变量名。