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

Обязательно ли объявлять переменную для хранения адреса переменной как указатель? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разборка кода игры http://www.cyberforum.ru/cpp-beginners/thread1170598.html
Здравствуйте, скачал недавно игру, сделанную на с++. Хочу попробовать создать подобную, но не могу разобраться в коде. Могли бы вы закомментировать наиболее сложные моменты в коде, буду премного благодарен. TForm1 *Form1; Graphics::TBitmap*ShipPic; Graphics::TBitmap*InvadersPic; Graphics::TBitmap*BackScreen; TList*Invaders; int InvadersDirect; bool LEFT,RIGHT; float InvadersSpeed; int...
C++ Найти сумму четных элементов массива Пожалуйста помогите, найти сумму четных элементов массива. http://www.cyberforum.ru/cpp-beginners/thread1170591.html
C++ Аналог wctomb
Здравствуйте! Необходим аналог функции wctomb без использования функций библиотеки C\C++ и WinAPI. То есть, конвертация строки wchar_t в char. Помогите пожалуйста с реализацией.
C++ Вывод случайного массива, вылетает программа
Программа генерирует случайный двумерный массив, выводит его в файл, потом читает и выводит на экран из этого файла. При нажатии клавиши 2 в меню программа пишет "Прекращена работа программы". Заранее спасибо за помощь. #include <iostream> //библиотека ввода/вывода #include <windows.h> //установка команд операционной системы #include <fstream> ...
C++ Кодировка чтения файла http://www.cyberforum.ru/cpp-beginners/thread1170552.html
Здравствуйте, форумчане! Возникла небольшая прроблемка.. Читаю данные из файла: #include <iostream> #include <vector> #include <fstream>
C++ Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка Доброго времени суток)) Необходимо записать функцию Бесселя первого рода нулевого порядка. Записала, вроде как, по формуле.. с помощью знакопеременного ряда, но при компиляции пишет: pow: DOMAIN error , может кто-нибудь встречался с похожим, или может я, что упустила в коде?? Заранее спасибо)) int Fkt(int b) { int f = 1; for (int i = 1; i <= b; i++) f *= i; return(f) ; } double... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.05.2014, 10:41     Обязательно ли объявлять переменную для хранения адреса переменной как указатель?
Цитата Сообщение от WLF Посмотреть сообщение
Так почему я не могу поместить в обычную переменную (пусть даже это будет long int) какое-то число, которое я интерпретирую как адрес.
Во-первых откуда тебе известно, что это число туда влезет? Указатель же, объявленный с помощью звёздочки, гарантирует, что такое число туда поместится. Во вторых как инкрементить будешь? Типизированный указатель инкрементится оператором ++ сразу на размер ячейки, на которую указывает, а не к соседнему байту. И при вычитании двух указателей получается количество ячеек, которые межу этими адресами можно поместить. Например,
C++
1
2
3
4
5
int *p1;
int *p;
size_t n;
...
n=p1-p2;
поместит в n количество четырёхбайтных ячеек, а не количество байт, которые помещаются между двумя адресами. В-третьих ты как собираешься обращаться к данным, которые лежат по хранимому в long int адресу? Единственный возможный синтаксис такого обращения - это привести long int к указателю, а потом этот указатель разыменовать.
 
Текущее время: 09:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru