形参中的数组传递的是数组的首地址

来源:互联网 发布:淘宝如何开企业店铺 编辑:程序博客网 时间:2024/05/01 21:20

形参中的数组传递的是数组的首地址,如果函数体要使用数组的长度,需要用另一个形参传递,当要用到传递的数组的元素时,要重新建一个数组,并将原数组的值拷贝过去,如下:

void fun(int a[] ,int len)

{

    int * b=(int *)malloc(sizeof(int)*len);

    memcpy(b,a,len);

}

 

void fun(unsigned char a[], int len)

{

    unsigned char * b=new unsigned char[len+1];//+1应该是因为需要存储"/0"吧

    memcpy(b,a,len);

}