#include <stdio.h>
#include <stdlib.h>
int main()
{
char *ptr = malloc(sizeof(char) * 1);
ptr = "Hello World";
puts(ptr);
getchar();
}
私は malloc() の専門家ではありませんが、1 バイトしか割り当てずに 11 バイトを含む値を *ptr ポインターに割り当てたので、そのコードはエラーを出すはずではありませんか?
または、H は割り当てられた場所に格納され、残りの文字列はその後の場所に格納されますか?