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

В чем причина - C++

Восстановить пароль Регистрация
 
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 18:35     В чем причина #1
В общем сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int b=20;
 
int *a = &b;
 
int main()
{
    cout << a << endl;
    cout << b << endl;
    cout << &b << endl;
    cout << &a << endl;
system ("pause");
}
Не какой ошибки нету но результат:

01127038
20
01127038
0112703c

Ну почему
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2013, 18:35     В чем причина
Посмотрите здесь:

Незнаю в чем причина C++
В чем причина ошибки? C++
В чем причина? C++
C++ Различия компиляторов. В чем причина?
подскажите в чем причина.... C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.07.2013, 18:39     В чем причина #2
что почему?
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 18:40  [ТС]     В чем причина #3
Я хочу чтобы результат был примерно такой:
20
20
01127038
01127038
Valentina
66 / 66 / 3
Регистрация: 13.05.2012
Сообщений: 130
12.07.2013, 18:41     В чем причина #4
Для того чтобы получить значение а нужно использовать операцию разыименования
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int b=20;
 
int *a = &b;
 
int main()
{
    cout <<*a << endl;
    cout << b << endl;
    cout << &b << endl;
    cout << &a << endl;
system ("pause");
}
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
12.07.2013, 18:42     В чем причина #5
все верно
cout << a << endl; - выводится адрес на который указывает a
cout << b << endl; - выводится число записанное в b
cout << &b << endl; - выводится адрес переменной b
cout << &a << endl; - выводится адрес расположения в памяти указателя a
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 18:42     В чем причина #6
01127038 // адрес b
20 ты догадался почему
01127038 // адрес b
0112703c // адрес a
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
12.07.2013, 18:43     В чем причина #7
андрюха53, тогда уж
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int b=20;
 
int *a = &b;
 
int main()
{
    cout <<*a << endl;
    cout << b << endl;
    cout << &b << endl;
    cout << a << endl;
system ("pause");
}
soican
12.07.2013, 18:43
  #8

Не по теме:

ой как много ответов

андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 18:44  [ТС]     В чем причина #9
Цитата Сообщение от Valentina Посмотреть сообщение
Для того чтобы получить значение а нужно использовать операцию разыименования
Спасибо но результат:
20
20
01127038
0112703c -почемуто вместо 8 стоит с
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 18:46     В чем причина #10
Цитата Сообщение от андрюха53 Посмотреть сообщение
0112703c -почемуто вместо 8 стоит с
адреса разные в памяти
Valentina
66 / 66 / 3
Регистрация: 13.05.2012
Сообщений: 130
12.07.2013, 18:46     В чем причина #11
Цитата Сообщение от Кудаив Посмотреть сообщение
#include<iostream>
using namespace std;
int b=20;
int *a = &b;
int main()
{
* * cout <<*a << endl;
* * cout << b << endl;
* * cout << &b << endl;
* * cout << a << endl;
system ("pause");
}
этот вариант правильный, а в моем случае получаются разные адреса
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 18:58  [ТС]     В чем причина #12
Цитата Сообщение от soican Посмотреть сообщение
адреса разные в памяти
Но ведь указатель и переменная одинаковый адрес
Valentina
66 / 66 / 3
Регистрация: 13.05.2012
Сообщений: 130
12.07.2013, 19:04     В чем причина #13
Цитата Сообщение от андрюха53 Посмотреть сообщение
Но ведь указатель и переменная одинаковый адрес
У вас указатель на int а равен адресу b, но при этом указатель на int имеет свой адрес.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2013, 21:27     В чем причина
Еще ссылки по теме:

C++ Простейшая сортировка. В чем причина?
C++ В чем причина
C++ Люди не знаю в чем причина гляньте кто то

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

Или воспользуйтесь поиском по форуму:
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
12.07.2013, 21:27  [ТС]     В чем причина #14
Цитата Сообщение от Valentina Посмотреть сообщение
У вас указатель на int а равен адресу b, но при этом указатель на int имеет свой адрес.
Ааа точно спасибо я перепутал указатели с ссылками
Yandex
Объявления
12.07.2013, 21:27     В чем причина
Ответ Создать тему
Опции темы

Текущее время: 00:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru