Когда вы сохраняете указатель на строку, поместите строку в «случайные адреса памяти». Значение такое же, как при заказе книги из Амазонки. Я прошу их доставить в мой дом на веб-сайт Amazon Web Services. Я должен прийти ко мне домой, чтобы взять его прямо у рододателя. Итак, я оставляю свой домашний адрес на сервисах веб-сайта Amazon Это просто адрес памяти.
char * string = "hello";
Это пример. Это не дает прямое значение «привет» доставщику. Итак, я даю «string» - строковая переменная в «случайном адресе памяти» «hello».
- Все переменные указаны в промежутке времени, когда программа выполнена, в случайной адресной памяти. Это не просто невидимо для программиста.
- Все переменные, используемые указанным размером в байтах пространства памяти.
Фактически, я не совершенен, и я все еще участвую в процессе обучения. Моя информация также не на 100% идеальна. Если в моем ответе есть ошибка или неверный перевод, Дайте мне комментарии.
'char * name' - указательная переменная, которая была инициализирована адресом строкового литерала. Затем он передается 'printf'. –
Не используйте '' \ r \ n "'.Если ваша платформа использует эти байты в качестве разрыва строки, печать '' \ n "' должна выводить оба. – aschepler
Постоянная строка находится на постоянном адресе в исполняемом изображении. Переменная 'name' устанавливается так, чтобы указывать на значение этого адреса. –