関数に cstring を渡して上書きしたい。
#include <stdio.h>
void changeStr(char* str1)
{
str1 = "foo";
}
int main()
{
char* aStr = "abc123";
printf("%s\n", aStr);
changeStr(aStr);
printf("%s\n", aStr);//aStr is still the same :(
return 0;
}
&
aStr の前と str1 の前に a を配置しようと*
しましたが、プログラムがクラッシュします。なぜこれが機能しないのですか?以下は、ここと同じ理屈ではないでしょうか?