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

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

Войти
Регистрация
Восстановить пароль
 
dserp18
10 / 10 / 0
Регистрация: 20.01.2013
Сообщений: 95
Записей в блоге: 4
#1

пример из книги - C++

19.08.2013, 01:51. Просмотров 471. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
    long summa (int k,...){
     int *pik=&k;
     char *pc=(char *)pik;    
     cout <<" *pc="<<*pc<<" pc="<<pc;
     long total =0;
     for (int x=k;x>0;x--) {
            pc=pc+4;
       total=total+*pc;
     //pik=(int *)pc;
       cout <<"\n *pc="<<*pc<<" pc="<<pc;
         }
     return total;     }
     int main(){
         cout <<"\n summa(2,6,4)="<<summa(2,6,4);
         cout <<"\n summa(6,1,2,3,4,5,6)= "<<summa(6,1,2,3,4,5,6)<<"\n";  }
Вопрос : почему у меня pc и *pc имеют одинаковые значения, ведь в одном случае это(вроде бы) адреса, а в другом - значения по этим адресам?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2013, 01:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос пример из книги (C++):

Пример из книги не работает. - C++
Пример из книги, тема Классы но смотрю что нет обращения к Task::swap(int i,int j) Думаю ошибка именно в Task::sort(int size). ...

Пример из книги- ну, напутан - C++
Представляте, вчира три часа смотрел на страницу книги- разбирал его, пытался понять... Поначалу ве показалась мне совсем простым.. Дальше...

Пример из книги. Шилдт - C++
Всем привет. Вот пример из книги Шилдта. У меня не работает деструктор (не выводится сообщение) #include &lt;iostream&gt; using namespace...

Пример из книги Лафоре - C++
Здравствуйте! Не могли бы подсказать, по какой причине в листинге ниже переменные должны быть обязательно быть изначально изначально с...

Пример из книги Лафоре - C++
В третьей главе книги Лафоре по с++ есть пример использующий функцию getche(): #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

Не работает пример из книги - C++
Я писал код из книжки и ничего не работает. #include &lt;iostream&gt; using namespace std; #include &lt;conio.h&gt; int main(){ ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
19.08.2013, 03:22 #2
Если бы вы сделали вот так:
C++
1
int *pc = &a ;
только тогда в нем был бы адрес, а так у вас pc просто указатель на значение.
1
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.08.2013, 10:50 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Bend3r Посмотреть сообщение
Если бы вы сделали вот так:
C++
1
int *pc = &a ;
А у него сделано:
C++
1
2
int *pik=&k;
char *pc=(char *)pik;
Цитата Сообщение от Bend3r Посмотреть сообщение
а так у вас pc просто указатель на значение
Это и есть указатель.

Цитата Сообщение от dserp18 Посмотреть сообщение
Вопрос : почему у меня pc и *pc имеют одинаковые значения, ведь в одном случае это(вроде бы) адреса, а в другом - значения по этим адресам?
Чтобы вывести адрес, который содержится в указателе на char, нужно привести указатель к типу void*:
C++
1
cout << "\n *pc = " << *pc << " pc = " << (void*)pc;
Добавлено через 7 часов 9 минут
Забыл написать почему так нужно сделать. Оператор вывода устроен так, что если всречает указатель на char, то понимает его как указатель на начало строки, которую нужно вывести.
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2013, 10:50
Привет! Вот еще темы с ответами:

пример из книги страуструпа - C++
struct pair { char* name; // ñòðîêà int val; // öåëîå }; const int large = 1024; ...

Непонятный пример из книги - C++
Не могу никак разобраться в одном маленьком примере из книги, речь идёт про условную операцию. Распишите плз, как действует при i=0 i=1 i= 2

Пример с книги не компилируется! - C++
Павловская Т.С. Пример (программа печатает таблицу значений функции г/=х2+1 во введенном диапазоне): ...

Простой пример из книги - C++
Решил сделать все задания Павловской Т.А. С/С++ и вот с самого первого примера не понял кое-что. Сама программа вылетает и не показывает...


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

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

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