c语言中函数参数为指针的多次传递

 可以进行多次传递,因为传递的是指针,而不是值。

void func_1(char*c1)
{
    strcpy(c1,"abc");
    //这个地方不能用c1 = "abc";字符串的复制要用strcpy.
   
}
void func_2(char*c2)
{
    func_1(c2);
   
}
int main()
{
    char ch[4]={0};
    func_2(ch);//是传的指针,而不是值。
    printf("%s\n",ch);
}

总结:函数传递的参数是指针,对于数组名来说是值传递,函数内的地址操作,p++,p--,不会影响数组名;

对于数组元素来说,是指针传递,*p,或者strcpy会影响到数组的值。

发布了100 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/modi000/article/details/105389496