2011-12-15 4 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

答えて

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; 
} 
関連する問題