8 / 8 / 2
Регистрация: 08.03.2014
Сообщений: 101
|
|||||||||||
1 | |||||||||||
Передача char в функцию27.04.2014, 00:23. Показов 13729. Ответов 13
Метки нет Все метки)
(
Привет всем! Помогите, что неправильно: есть функция
0
|
27.04.2014, 00:23 | |
Ответы с готовыми решениями:
13
Передача в функцию char*([Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]) Передача в функцию char** Передача в функцию массива char |
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
|
|
27.04.2014, 00:25 | 2 |
lion_wine, вы пытаетесь присвоить одной переменной значение всего массива.Либо копируйте массив,либо работайте с указателями.
0
|
8 / 8 / 2
Регистрация: 08.03.2014
Сообщений: 101
|
||||||
27.04.2014, 00:37 [ТС] | 4 | |||||
а разве указатель уже не даст возможности обращаться к другим участкам памяти? а как передать весь массив?
Добавлено через 1 минуту забыл дописать
0
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
|
|
27.04.2014, 00:55 | 5 |
lion_wine, вы и передаете весь массив.Ошибка в другом.
0
|
19410 / 10029 / 2443
Регистрация: 30.01.2014
Сообщений: 17,682
|
|
27.04.2014, 01:02 | 6 |
S_el, не совсем, он передает указатель, к которому был автоматически приведен массив.
lion_wine, тут надо добавить, что массивы нельзя передавать по значению. Потому что они не объекты первого класса (по историческим причинам). Поэтому обычно массивы копируют поэлементно; т.е. указатель + размер и копия (функции strcpy, strncpy, memcpy, std::copy и т.п.) в другой массив. Чтобы передать массив целиком, как объект, можно использовать, например, std::array (С++11) или эквивалентный подход с собственным типом.
0
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
|
|
27.04.2014, 01:06 | 8 |
0
|
19410 / 10029 / 2443
Регистрация: 30.01.2014
Сообщений: 17,682
|
|
27.04.2014, 01:17 | 9 |
Если ты знаешь что за ней стоит, то да. Но лично мне показалось, что у автора как раз вся проблема из-за того, что он думал, что может передать "весь массив" разом.
0
|
1 / 1 / 0
Регистрация: 10.03.2013
Сообщений: 59
|
||||||
27.04.2014, 02:59 | 10 | |||||
0
|
1 / 1 / 0
Регистрация: 10.03.2013
Сообщений: 59
|
||||||
27.04.2014, 22:58 | 12 | |||||
Ты в аргументе передаешь целый массив, а указатель не указывает на целый массив он указывает только на первый элемент.
0
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 19
|
||||||||||||||||
27.04.2014, 23:38 | 13 | |||||||||||||||
Добавлено через 4 минуты
Добавлено через 5 минут Как же объяснить.... Когда вы пишите название массива ( massive_name ), программа воспринимает его как адрес первого элемента массива в оперативной памяти, а когда рядом указываете номер элемента( massive_name[number_of_element] ) переходит относительно этого адреса на number_of_element шагов. Добавлено через 3 минуты следовательно, принимающая ф-ция должна записать в указатель адрес первого элемента массива и относительно этого указателя вызывать элементы(как я описал в своем примере кусков кода). Извините если где-то ошибся, но вроде все правильно. Добавлено через 8 минут Вот полный рабочий пример написал.
А вот если надо передать один конкретный знак:
0
|
1 / 1 / 0
Регистрация: 10.03.2013
Сообщений: 59
|
|
28.04.2014, 02:03 | 14 |
alsav22, а вдруг его функция изменит исходное значение а он этого не хочет, можно конечно поставить const прочесть весь массив через указатель до \0 , но лучше все же сначала объяснить автору как это работает.
0
|
28.04.2014, 02:03 | ||||||
Помогаю со студенческими работами здесь
14
Передача FILE и char[x] в функцию Передача в функцию unsigned char [ ] Передача массива типа char в функцию Передача массива Char в функцию. Как быть?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
![]() |
Новые блоги и статьи
![]() |
||||
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
|
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
|
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
|
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH
1. поймать путь через вывод $(pwd)
2. более правильно - на основе realpath (см. скриншот)
|
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
|
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
|
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
|
PHP 8: JIT-компиляция и улучшение производительности
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
|
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
|
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
|