Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Указатели на основные типы данных - на арифметические данные и на символьные.





Пример работы с указателем на данные арифметического типа int:

int n = 6, *pn = &n;

cout << pn<<'\t' << *pn; // будет выведено : 0x1E10FFC 6

// адрес значение

Пример работы с указателем на данные символьного типа char:

char c = 65, *pc= &c;

cout << pc << '\t' << *p << '\t' << &c; // будет выведено A A A,

то есть при выводе указателя, разыменованного указателя и адреса будет выводиться сам символ с кодом 65 – это прописная латинская буква A

Если мы хотим вывести значение адреса символьной переменной и ее внутренний код надо поступить так:

cout << (void*)pc <<’\t’<< (int)*pc // результат: 0x1e76a0c2 65

явно привести указатель к типу void, аразыменованный указатель к типу int.

 

Операция - & имя дает однозначный результат – адрес данного объекта.

Результат операции разыменования *имя_указателя неоднозначен изависит не только от значения указателя так и от его типа, который указывает размер участка памяти, который будет доступен:

В следующем примере один и тот же адрес переменной рассматривается как значение указателей разных типов:

{long L = 0x12345678L;

char*ch=(char*)&L; int*I =(int*)&L; unsigned long*UN=(unsigned long*)&L;

cout << hex; //манипулятор вывода в шестнадцатеричном формате

cout << (int)*ch << '\t' << *I << '\t' << *UN << endl;

cout << (void*)ch << '\t' << I << '\t' << UN << endl; …}

Результат фрагмента программы:







Дата добавления: 2015-08-12; просмотров: 396. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия