Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 2
Регистрация: 04.04.2011
Сообщений: 75
1

Pointers

23.03.2012, 01:49. Просмотров 698. Ответов 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, мы же ни к чему её не приравнивали, а только поменяли значение указателя.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2012, 01:49
Ответы с готовыми решениями:

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

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

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

Smart pointers
Уважаемые форумчане, такой вопрос: возможно ли как то в одном контейнере (в векторе например)...

1
Комп_Оратор)
Эксперт по математике/физике
8421 / 4175 / 569
Регистрация: 04.12.2011
Сообщений: 12,394
Записей в блоге: 14
23.03.2012, 02:23 2
Цитата Сообщение от Rashmash Посмотреть сообщение
*pPointer=25;// тут просто приравниваем указатель 25, но почему меняется somenumber?
*pPointer - здесь Вы не присваиваете указатель, а выполняете его разадресацию и присвоение целому по адресу pPointer то есть той переменной на которую он указывает: somenumber
То есть *pPointer в объявлении int *pPointer (здесь * -часть спечификатор типа в объявлении)
и *pPointer в выражении *pPointer = 25 (здесь * - оператор разадресации)
значат разные вещи, хотя выглядят одинаково.
В свое время один мудрый человек испытывая идеосинкрозию по этому поводу придумал специальный символ -> который планировал использовать и для разадресации и даже для объявлений (что бы они читались и программером и компилятором слева направо). Но его планам не суждено было сбыться. И теперь -> служит для доступа к членам класса через указатель на экземпляр.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2012, 02:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Pointers and dynamic arrays
Изучаю тему указатели и динамичесские массивы в классах. Хотелось бы быть уверенным в следующих...

Const, pointers, reference
const int&amp; const ref1; const int &amp;ref1; int const &amp;ref1; Во всех случаях это константная...

Sum of two very long integers, using pointers
Your friend is the person who does not like any limitations in the life. And when you said to him...

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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