读书人

c语言函数传参对于字符串的疑义

发布时间: 2012-10-17 10:25:46 作者: rapoo

c语言,函数传参,对于字符串的疑问。
字符串传参的时候加&和不加有什么区别?

个人理解除指针和字符串变量外,其他类型的变量想要在函数中改变其值并传回原函数,必须传参的时候传入地址。
指针就不说了,本身的值就是指向的地址,可是字符串也可以直接传进来并能改变它的值,是什么原理?求高手能系统的讲解一下。还有就是fun(str)和fun(&str)的感觉是一样的,为啥?

[解决办法]
1、传str是把str看作是字符串;
2、传&str是把str看作字符串数组,当然由于str的地址与str[0]是一样的,所以从结果上来看似乎相同,但是意义完全不一样的。

读书人网 >C++

热点推荐