ここでは、文字列の特定の文字を変更できるように p にメモリを動的に割り当てていますが、このコードは途中でハングします
int main()
{
char *p;
p=malloc(10*sizeof(char));
p="string";
p[0]='d';
printf("%s",p);
}
p="string"
5 行目を次のように置き換えてみましたstrcpy(p, "string")
が、コードは完全に機能しました。誰かこの理由を教えてください。
int main()
{
char *p;
p=malloc(10*sizeof(char));
strcpy(p, "string");
p[0]='d';
printf("%s",p);
}