Когда я выполняю приведенный ниже код,
#include <stdio.h>
#include <string.h>
int main ( ){
char string [] = "Home Sweet Home";
printf ("%s",(char*)memmove(string,&string[5],10));
}
, вывод «Sweet Home Home».
Но; когда я изменяю код, как показано ниже,
#include <stdio.h>
#include <string.h>
int main ( )
{
char* string = "Home Sweet Home";
printf ("%s",(char*)memmove(string,&string[5],10));
}
это дает ошибку сегментации.
Что изменяется, когда я определяю этот массив как указатель на символ?