Форум программистов, компьютерный форум 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) ни один из вариантов подробнее

Показать сообщение отдельно
gru74ik
Модератор
 Аватар для gru74ik
3116 / 1342 / 167
Регистрация: 20.02.2013
Сообщений: 3,809
Записей в блоге: 17
07.01.2016, 08:02     Как пользоваться указателями строк?
Цитата Сообщение от артист Посмотреть сообщение
А так:
C++
1
byte * Data;
Классический случай - неинициализированный указатель. Указатель, указывающий в никуда.
Обычная переменная хранит в себе значение определённого типа. А указатель в качестве значения хранит адрес.

Можно провести такую аналогию:
Переменная типа House - дом. В доме живут реальные люди (переменная хранит реальные данные). Указатель на переменную House - табличка на доме с написанным на ней адресом "ул. Олега Вещего, дом 4" (значение, которое хранит указатель - это адрес). Неинициализированный указатель - пустая табличка. Компилятор - человек, ищущий адрес по табличкам на домах. Что будет, если табличка указывает в никуда? Будет UB. И как оно проявится в данном отдельно взятом случае никто не знает. Зависит от человека (реализации компилятора). Кто этот человек? Просто прохожий? Почтальон? Торговец гербалайфом? Свидетель Иеговы? Киллер? Террорист, у которого стоит задача подложить мешок с гексогеном по определённому адресу? Врач, спешащий по экстренному вызову?

Или ещё: переменная - дом. Указатель - конверт с адресом. Неинициализированный указатель - письмо без адреса. Компилятор - почтальон. Куда принесёт почту почтальон, если на конверте не написан адрес?
Если Вы не посылали письмо и оно лежит у Вас в конверте без адреса в ящике стола - ничего страшного (объявили указатель на тип T, но не разыменовывали его).
А вот если Вы послали письмо "на деревне дедушке" (попытались разыменовать неинициализированный указатель), то тут UB, т.е. дальнейшие действия зависят от почтальона (компилятора).
Может оставит письмо на почте. Может выкинет в мусорку. Может отправит не тому человеку. А может сойдёт с ума и придёт убивать Вас за неподписанный конверт.
 
Текущее время: 09:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru