Я пытался понять ошибку сегментации для голец * присваивания во время для следующей программы на место * р = «Z»ошибка Сегментация полукокса * Назначение
void main()
{
char *p ="abcdefg";
*p = 'Z';
}
Когда Googled, я нашел много ссылок на ответы следующим образом: 1. Это строковый литерал, и после присвоения его значение не может быть изменено. 2. Строковые литералы нельзя присваивать * p 3. Возьмите malloc, который может быть изменен ... и так далее ...
Но мое беспокойство заключалось в том, что значения струнных литералов не могут быть изменены, поскольку они постоянны, откуда мы не испытываем ошибки сегментации при изменении постоянного значения целого числа. Может кто-нибудь, пожалуйста, помогите мне понять это лучше?
-Prashanth
Посмотрите: http://stackoverflow.com/questions/718477/string-literals – loxxy
Предполагаю, что вы слышали, что строковые литералы часто называются строковыми константами. Какую часть слова «постоянный» вы не понимаете? –
Используется ли такая же строковая буквальная буква для целых чисел? #include void main() { int * a = 123456; * a = 1; } –
pkumarn