Вчера у меня была небольшая проблема с самодельной «сложной» функцией. Сейчас это работает, но я немного смущен!Разница между массивом и указателем
char* a = "Hello, World!"; //Works
char b[] = "Hello, World!"; //Works also
strcpy(a, "Hello!"); //Segmentation fault
strcpy(b, "Haha!!"); //Works..
В чем разница? Почему указатель char вызывает «ошибку сегментации»?
Почему это даже работает? :
char* a = "Haha"; //works
a = "LOL"; //works..
Я удалил тег C++, так как это о подмножестве C (и даже там вы бы не реализовали 'strcpy' самостоятельно). –
Прочтите этот раздел FAQ по C: http://c-faq.com/aryptr/aryptr2.html – Claudio
@honk да, это имеет смысл –