1个回答
展开全部
void show(char a[]);
等同于
void show(const char * a);
所以虽然看上去传的是数组(或者说,C风格的字符串),但实际上传的是字符指针,实质是传值。
一般传参数分为传值、传引用。而传指针则是把“指针”这个变量传了过去,所以在程序内部和传值其实是一样的。
如果要以传引用的方式传指针,要这么写
void show(char* & a);
或
void show(char & a[]);
等同于
void show(const char * a);
所以虽然看上去传的是数组(或者说,C风格的字符串),但实际上传的是字符指针,实质是传值。
一般传参数分为传值、传引用。而传指针则是把“指针”这个变量传了过去,所以在程序内部和传值其实是一样的。
如果要以传引用的方式传指针,要这么写
void show(char* & a);
或
void show(char & a[]);
更多追问追答
追问
void show(char a[]) 和 void show (const char * a)上传的均是这个数组的地址对么?
追答
对的,两者是等价的,这种写法中,a实际上都是一个不同于main函数中的新的变量,但a和main中的a中存的内容是一样的,都是字符数组的第一个字符的地址
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询