Строка хранится в области данных программы. Это полностью компилятор, формат исполняемого файла и зависит от платформы. Например, двоичный файл ELF помещает его в другое место, чем исполняемый файл Windows, и если вы компилировали для встроенной платформы, эти данные могут храниться в ПЗУ, а не в ОЗУ.
Вот иллюстрация макета формата ELF:
Ваши строковые данные, скорее всего, будут найдены в разделах .data
или .text
, в зависимости от компилятора.
Вы, конечно, можете вернуть его изнутри тела функции. Просто сверьтесь с вашей реализацией, чтобы убедиться, что это произвольный доступ, так как многие реализации не позволят вам перезаписать его.