Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2017, 19:43   #1
Player150
Пользователь
 
Регистрация: 21.07.2017
Сообщений: 12
Смущение Вопрос по возврату значения

Здравствуйте, мне непонятна одна вещь, есть такой код:

Код:
const char* str() { return "abc"; }

int main() {

const char* ptr = str();

return 0;

}
Я не понимаю, "abc" в определении функции является чем? Локальным объектом? Просто если присвоить значение возвращаемого указателя указателю ptr, то я могу его использовать в программе и при разыменовывании получу именно этот строковый литерал.
Player150 вне форума Ответить с цитированием
Старый 09.08.2017, 19:50   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Потому что это строковой литерал. Зачем им быть локальными? Вы ж не можете изменить его никак.
"abc" + "abc" даже нельзя сделать в С, только strcpy.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.08.2017, 20:00   #3
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
"abc" + "abc" даже нельзя сделать в С, только strcpy.
Можно "abc" "abc".
Croessmah вне форума Ответить с цитированием
Старый 10.08.2017, 21:40   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Player150 Посмотреть сообщение
Код:
const char* str() { return "abc"; }
Я не понимаю, "abc" в определении функции является чем? Локальным объектом?
статический объект, имеющий тип 'массив'
поскольку объект статический,
то время его жизни - до конца программы.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос на счет возвращаемого значения функции main() Igor95 Общие вопросы C/C++ 4 25.09.2013 02:31
Определение табличного значения имея изначально 2 исходных значения? Михаил К. Общие вопросы Delphi 2 18.06.2011 21:32
Как найти все N-значения и заменить их на значения из 2-х ячеек? Smile2007 Microsoft Office Excel 10 09.12.2010 09:34
вопрос О копировании значения в Exel 2007 vist17 Microsoft Office Excel 1 07.07.2009 19:21
вопрос о выборе значения из списка на форме Alex_aid Microsoft Office Access 2 03.05.2009 22:04