0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 11
|
||||||
1 | ||||||
Преобразование из *char в char[]21.12.2016, 23:37. Показов 13925. Ответов 9
Метки нет (Все метки)
Однако здравствуйте
Как в чистом си преобразовать значения из char* в char[] Если
0
|
21.12.2016, 23:37 | |
Ответы с готовыми решениями:
9
CONST_RETURN char *__cdecl strstr (const char *_Str, const char *_SubStr) Assigning from int to char[10] from char to char[10] Переход с 10 на 17 Студию 2440 =: невозможно преобразовать "const char [2] в char* Ошибка в коде: несовместимы типы операндов (char и const char) |
10 / 10 / 13
Регистрация: 17.02.2014
Сообщений: 58
|
|||||||||||
22.12.2016, 01:50 | 2 | ||||||||||
0
|
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
|
||||||
22.12.2016, 06:26 | 3 | |||||
в Си имя массива это указатель на его первый элемент
и указатели и массивы одного типа можно одинаково использовать и передавать их в качестве аргументов в любом виде Кликните здесь для просмотра всего текста
0
|
Вездепух
11721 / 6400 / 1725
Регистрация: 18.10.2014
Сообщений: 16,138
|
||||||
22.12.2016, 07:35 | 4 | |||||
Разве?
А почему же тогда вот такой код является ошибочным
&a должно быть указателем на указатель, правда? Так в чем же дело? Добавлено через 1 минуту Вопрос бессмыслен в такой форме. Язык С не поддерживает преобразование к типу "массив". Уточните, что именно вам надо сделать.
0
|
Модератор
|
|||||||||||
22.12.2016, 08:06 | 5 | ||||||||||
char* и char[] можно использовать почти как синонимы. Разница лишь в том, что если написано:
И обратно. Если задан массив:
0
|
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
|
|
22.12.2016, 16:20 | 6 |
Сообщение от K&R, C (5.3)
0
|
620 / 378 / 72
Регистрация: 21.09.2008
Сообщений: 1,293
|
|
22.12.2016, 19:57 | 7 |
Вдумчиво познаём дзен в разделе 4.4.7. Строковые литералы со страницы 265 прекрасной книги.
0
|
Вездепух
11721 / 6400 / 1725
Регистрация: 18.10.2014
Сообщений: 16,138
|
|
22.12.2016, 20:58 | 8 |
Ну, строго говоря, и K&R тут тоже косячит вовсю. "По определению"? По определению чего? "Значение переменной или выражения"? "Или"? В С доступ к значению переменной делается только через выражение.
Да и каких, интересно, выражениях идет речь?
0
|
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
|
|
22.12.2016, 21:46 | 9 |
TheCalligrapher, по определению (стандарту) языка, видимо. О любых выражениях, которые возвращают массив.
0
|
Вездепух
11721 / 6400 / 1725
Регистрация: 18.10.2014
Сообщений: 16,138
|
|
22.12.2016, 22:03 | 10 |
Ну стандарт языка-то ясно говорит, что перобразование типа "массив" к типу "указатель" происходит отнюдь не в любых выражениях типа "массив". Всегда было три исключения: 1) операнд унарного оператора
& , 2) операнд оператора sizeof , 3) строковый литерал, используемый для инициализации char массива. (А в современном С есть еще и четвертое исключение - _Alignof )
0
|
22.12.2016, 22:03 | |
22.12.2016, 22:03 | |
Помогаю со студенческими работами здесь
10
Error C2440: =: невозможно преобразовать 'char (*)[150]' в 'char *' Const char нельзя присвоить сущность типа char Преобразование int в char Преобразование void* в char* Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |