C语言 函数参数用数组传接,会不会复制一遍数组
C语言 函数参数用数组传递,会不会复制一遍数组啊
我看公司的代码,有
function(char[])这样写的,一般接口,写的都是用const char*来传,
我不知道这样传的话,会不会复制一遍数组
------解决方案--------------------
不会,
和 char* 是一样的, 自动退化成指针
------解决方案--------------------
LS正解。
------解决方案--------------------
![C语言 函数参数用数组传接,会不会复制一遍数组 C语言 函数参数用数组传接,会不会复制一遍数组](/default/index/img?u=aHR0cDovL3d3dy5teWV4Y2VwdGlvbnMubmV0L2ltZy8yMDEzLzA4LzE0LzExMzk1OTEzNy5naWY=)
不会, 指针来传,
当作为参数的的时候, char[] 和 char* 没啥区别!
------解决方案--------------------
经测试,不会
我看公司的代码,有
function(char[])这样写的,一般接口,写的都是用const char*来传,
我不知道这样传的话,会不会复制一遍数组
------解决方案--------------------
不会,
和 char* 是一样的, 自动退化成指针
------解决方案--------------------
LS正解。
------解决方案--------------------
不会, 指针来传,
当作为参数的的时候, char[] 和 char* 没啥区别!
------解决方案--------------------
经测试,不会
class A
{
public:
A(){
cout<<"A constructor\n";
}
};
void partest(A[])
{
}
void partest2(int b[])
{
b[0]=9;
}
void test()
{
//A a[5];
int b[10];
//partest(a);
partest2(b);
cout<<b[0]<<endl;
}