2011-12-15 75 views
0

在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另一種方式?

+0

你沒有改變參數的地址在那裏。 – zvrba 2011-12-15 14:14:25

回答

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; 
}