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

Как пользоваться указателями строк? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести полуокружности, повторяя по два раза с каждой стороны до конца цикла (графическое задание) http://www.cyberforum.ru/cpp-beginners/thread1633112.html
Доброй ночи, ребят следующий код выводит полуокружности на левой стороне, в задании нужно чтобы они полуокружности чередовались по два раза. Сначала нужно чтобы вывелось два полукруга на левой стороне а потом нужно чтобы два полукруга вывелось на правой стороне. И так далее до конца цикла. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { double x,...
C++ Builder При втором запуске программы файлы не загружаются в программу Здравствуйте. задача вот такая И нформация об участниках спортивных соревнований содержит: наименование страны, название команды, Ф.И.О. игрока, игровой номер, возраст, рост, вес. Вывести информацию о самой молодой команде. Если заполнить таблицу сохранить информацию в файл отсортировать его и сохранить результат то потом можно открыть исходный файл таблицы участников, а если просто... http://www.cyberforum.ru/cpp-beginners/thread1633103.html
Задача: Манхэттенский полицейский C++
Добрый день, уже несколько дней с друзьями пытаемся решить задачу, которая явно использует какой-то простой алгоритм. Буду рад любым вашим намекам или соображениям: Задача: Недавно Билл устроился на работу полицейским. Теперь ему предстоит каждый вечер обходить свой участок, который представляет собой прямоугольник, состоящий из N x M кварталов. Каждый квартал имеет вид квадрата размером...
C++ Найти значения на выходе
Здравствуйте! Помогите найти значения на выходе. void F(int n, char a, char b, char c) { if (n>0) { F(n-1,b,c,a); printf("%d %c %c %c", n, a, b, c); } }
C++ Найти числа Фибоначчи, которые предшествуют введенному числу http://www.cyberforum.ru/cpp-beginners/thread1633081.html
Найти числа Фибоначчи, которые предшествуют введенному числу
C++ Найти эквивалентное значение Здравствуйте! Подскажите эквивалентен значение к a 1) **(a) 2) *(a+I) 3) *(&(a+I)) 4) *(&(a)) 5) ни один из вариантов подробнее

Показать сообщение отдельно
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
09.01.2016, 14:30     Как пользоваться указателями строк?
Цитата Сообщение от артист Посмотреть сообщение
А что такое разыменование, не инициализированный указатель не понял, и не понятно зачем нужны эти указатели, в каких случаях их применять.
Программа - это набор операций с какими-то сущностями. Чтобы оперировать с сущностью надо:
1) Знать ее тип, например, int. Но int – очень сложно, пусть тип будет «лопата». Тип «лопата» - это просто слово, которым мы обозначаем то, чем можно копать, т.е. чтобы копать нам нужна:
2) конкретная лопата (объект класса «лопата» или переменная типа «лопата», если «лопата» - встроенный тип). Например,

«лопата лопата_джамшута=совковая_лопата;».

Здесь мы определили объект «лопата_джамшута» класса «лопата» и инициализировали его значением «совковая лопата».
Теперь мы можем копать. Но иногда нам нужно другое имя для нашей лопаты – это будет ссылка:

«лопата& лопата_равшана=лопата_джамшута;».

Теперь лопата_джамшута и лопата_равшана два разных имени, обозначающих одну и ту же лопату.
Теперь об указателях. Указатель - это новая сущность, в отличие от ссылки. Определим ее:

«лопата *подноситель_лопат=&лопата_джамшута;».

Здесь мы создали указатель на лопату по имени «подноситель_лопат». & в выражении «&лопата_джамшута» - операция взятия адреса, т.е. сказать, где лежит лопата_джамшута. Теперь если подносителю лопат сказать принести лопату – он принесет лопату_джамшута сделать это можно с помощью операции разыменования – «*». Таким образом сделать лопату для насяльника, такую же как у джамшута можно с помощью:

«лопата лопата_насяльника=*подноситель_лопат».

Здесь мы создали новую лопату и инициализировали ее той лопатой, которую принес подноситель лопат.
Т.к. указатель – это сущность, то его можно настроить на другую лопату (в отличие от ссылки): подноситель_лопат++; Теперь он принесет лопату, которая лежит в шкафу после лопаты Джамшута и т.д. (подноситель_лопат[10],….) Но, если его не инициализировать и сказать принести лопату – неизвестно что он принесет и к чему это приведет (например он случайно попробует без спроса принести лопату Виктора Марьяновича, а он наказывает, жестоко наказывает).
 
Текущее время: 21:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru