Рассмотрим следующий код:
char* str = "Hello World";
memcpy(str, "Copy\0", 5);
Во время memcpy возникает ошибка сегментации. Однако, используя этот код:
char str[12];
memcpy(str, "Hello World\0", 12);
memcpy(str, "Copy\0", 5);
Программа не выдает ошибку сегментации.
Возникает ли проблема при распределении памяти в стеке по сравнению с разделом данных?