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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rashmash
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 75
#1

Pointers - C++

23.03.2012, 01:49. Просмотров 600. Ответов 1
Метки нет (Все метки)

Здравствуйте, не могу понять принцип указателей, можете пожалуйста объяснить почему в этом коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 int main()
{
    int somenumber;
    
    int* pPointer;
    
    somenumber=15;
    
    pPointer=&somenumber; // в этом случае указатель указывает на адресс в памяти так да? он выглядит тут типа 0002F и т.п.
    
 
    std::cout<<somenumber<<std::endl;
 
    *pPointer=25;// тут просто приравниваем указатель 25, но почему меняется somenumber?
    
    std::cout<<somenumber<<std::endl;
меняется переменная somenumber, мы же ни к чему её не приравнивали, а только поменяли значение указателя.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 01:49     Pointers
Посмотрите здесь:

Указатели (Pointers) - C++
Здравствуйте. Решил углубленно изучить указатели. Скачал несколько книг, лекций, тестов именно по указателям. Возник ряд вопросов,...

C++: pointers, clases - C++
Помогите, пожалуйста написать код для задачки Создать программу на языке С++, используя объектно-ориентированные средства...

указатели (Pointers) - C++
Напишите функцию, которая будет проверять, если подстрока &quot;IPRE&quot; можно найти в данной линии. Вход: Первая строка содержит одну...

Const, pointers, reference - C++
const int&amp; const ref1; const int &amp;ref1; int const &amp;ref1; Во всех случаях это константная ссылка или ссылка на константу(мне,...

Pointers and dynamic arrays - C++
Изучаю тему указатели и динамичесские массивы в классах. Хотелось бы быть уверенным в следующих ответах: 1) Когда класс использует...

Sum of two very long integers, using pointers - C++
Your friend is the person who does not like any limitations in the life. And when you said to him that it is totally impossible to work...

Указатели (pointers) и их практический смысл? - C++
Добрый день, будьте добры, пожалуйста, объясните - вот я сейчас читаю про указатели (*pointers или &amp;pointers). В практике они часто...

Recursion and pointers. Array in reverse order - C++
Задача: Suppose that intArray is an array of integers, and length specifies the number of elements in intArray. Also, suppose that low...

Smart pointers + полиморфизм + делегирование. Ошибка компиляции - C++
Доброго времени суток, уважаемые форумчане! Есть вопрос по поводу использования умных указателей в качестве указателей на абстрактные...

Smart Pointers: что такое и как с этим работать? - C++
Народ, объясните мне что такое Smart Pointers, зачем нужны и как с ними работать?

Qt smart pointers vs std smart pointers - C++ Qt
В каких случаях лучше использовать Q*Pointer, а в каких std::*_ptr, или с наследниками QObject лучше всегда использовать средства Qt?

Templates and pointers to functions - C++
в общем пишу одну процедурку для работы с текстовыми файлами, которая сама должна в вызывать функцию, переданную ей с определенными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6444 / 3083 / 306
Регистрация: 04.12.2011
Сообщений: 8,494
Записей в блоге: 4
23.03.2012, 02:23     Pointers #2
Цитата Сообщение от Rashmash Посмотреть сообщение
*pPointer=25;// тут просто приравниваем указатель 25, но почему меняется somenumber?
*pPointer - здесь Вы не присваиваете указатель, а выполняете его разадресацию и присвоение целому по адресу pPointer то есть той переменной на которую он указывает: somenumber
То есть *pPointer в объявлении int *pPointer (здесь * -часть спечификатор типа в объявлении)
и *pPointer в выражении *pPointer = 25 (здесь * - оператор разадресации)
значат разные вещи, хотя выглядят одинаково.
В свое время один мудрый человек испытывая идеосинкрозию по этому поводу придумал специальный символ -> который планировал использовать и для разадресации и даже для объявлений (что бы они читались и программером и компилятором слева направо). Но его планам не суждено было сбыться. И теперь -> служит для доступа к членам класса через указатель на экземпляр.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru