如何在C函数中更改参数的地址?

时间:2011-12-15 14:04:21

标签: c++ c

在C ++中,我可以这样做:

    #include <stdio.h>
    void ChangeAddress(char *&para)
    {
         char *temp = "123456";
         para = temp;
    }

    int main()
    {
    char *para = "abcdef";
    ChangeAddress(para);
    printf("%s\n",para);//123456
    return 0;
    }

在C中还有其他替代方法吗?

1 个答案:

答案 0 :(得分:9)

用指针替换引用:

#include <stdio.h>
void ChangeAddress(char ** para)
{
     char *temp = "123456";
     *para = temp;
}

int main()
{
char *para = "abcdef";
ChangeAddress(&para);
printf("%s\n",para);//123456
return 0;
}