89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
||||||||||||||||
1 | ||||||||||||||||
Как записать указатель со строковым литералом в массив09.12.2016, 21:44. Показов 693. Ответов 3
Метки нет Все метки)
(
Всем привет, что - то застрял на такой вот штуке. (Стыдно... =()
Ибо такое вроде как валидно:
Сделал через "кучу" - вроде работает. Что скажете. так можно?
0
|
|
09.12.2016, 21:44 | |
Ответы с готовыми решениями:
3
Возвращаемое значение функции - указатель на массив. КАК это записать? Знак @ перед строковым литералом
Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. |
09.12.2016, 21:51 | 2 | |||||
Jman,
Каждый литерал зашит намертво в программу (все эти символы между двойными кавычками находятся прямо в исполняемом коде программы после ее обработки компилятором). Это можно проверить, поковырявшись отладчиком в бинарнике (исп. файле) программы. Просматривая оперативную память можно увидеть строки текста. Таким образом литерал является статическим константным объектом. В этом коде
Таким образом ты пытаешься поменять (наверное) не данные, а исполняемый код, что недопустимо.
0
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|
09.12.2016, 21:56 [ТС] | 3 |
Я переписал данный литерал в динамический массив, так правильно?
0
|
3434 / 2813 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
||||||
10.12.2016, 07:03 | 4 | |||||
И так правильно (строковый литерал копируется в массив):
И так можно, но памяти нужно больше выделять (под '\0' добавить), и копировать с помощью strcpy():
1
|
10.12.2016, 07:03 | |
Помогаю со студенческими работами здесь
4
Как записать адрес в указатель во время работы программы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |