Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Несколько вопросов по указателям. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расределенная обработка матриц http://www.cyberforum.ru/cpp-beginners/thread248324.html
Всем доброго времени суток. Хотелось бы узнать Ваше мнение и советы по поводу следующего задания: Необходимо реализовать систему распределенной обработки матриц. То есть предполагается наличие...
C++ Фактические и формальные параметры в C + + Помогите разработать набор подпрограмм в которых нужно продемонстрировать преимущества применения фактических и формальных параметров функций при решении задач различных направлений http://www.cyberforum.ru/cpp-beginners/thread248322.html
Лабораторные. C++
Очень нужна помощь помощь.Иначе могут отчислить.Пожалуйста кто чем может))
с задания на курсовой C++
Ввести два предложения.Поменять местами все непарные слова.
C++ Реализовать внешнюю функцию с именем make_mun() http://www.cyberforum.ru/cpp-beginners/thread248291.html
Структурой-парой называется структура с двумя полями, которые обычно имеют имена first и second. Требуется реализовать тип данных с помощью такой структуры. Во всех заданиях обязательно должны...
C++ Метод Шеннона-Фоне Помогите разобраться в этом методе:(,и составить простейшие приложение сжатия по этому метода на с++:(,заранее спасибо) подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
26.02.2011, 00:41
fermerius,
1. Точнее, чтобы функция могла возвратить указатель. И снова возвращаемся к тому, что имя массива - адрес его начала, а, значит, указатель, возвращённый функцией, может интерпретироваться как массив.
2. Вообще-то программа должна виснуть (и у меня виснет, не знаю, почему у вас отрабатывает нормально). И всё по той же причине - строка константная.
3. Буду объяснять, учитывая, что передана функции неконстантная строка. Вся фишка в том, что в строке 9 происходит модификация указателя string, а именно, происходит сдвиг на один элемент массива. Мы же хотим, чтобы функцию можно было использовать так, как сделано в строке 17, т.е. использовать её саму как строку (например, как в данном случае, выводить с помощью <<). А чтобы это сделать, функция должна возвращать указатель на начало строки. Поэтому мы в starting_address запоминаем это адрес, а затем сам string модифицируем. Т.о. перед завершением функции у нас будет string, который теперь указывает на конец строки (благодаря чему мы и перемещались по строке), а так же starting_address, который по-прежнему указывает на её начало и который мы и возвращаем в качестве результата.
4. Здесь нам надо работать с указателем, а не со значением. Мы и применяем инкремент к указателю, тем самым сдвигая его на одну ячейку типа char.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru