Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Операции с указателями.




1. Разадресация

Предназначена для доступа поля памяти, адрес которой указан в указателе.

Char a;

char *p = new char;

*p ='A'; a = *p;

На одну и туже область могут ссылаться нескольку указателей, при чем они могут быть разного типа.

#include <iostream>

int main()

{ long A = OxCC77FFAA;

short int *pint = (short int *) &A;

char * pchar = (char*) &A;

cout <<A<<*pint<<*pchar;

return 0;

}

Если в выражении присутствуют указатели разных типов, то требуется явное преобразование типов для всех указателей, кроме void*

Значение 0 не явно преобразуется в указатель любого типа.

Присваивание указателей на объекты указателям на функции и наоборот не допускаются.

2. Арифметические операции.

Сложение с константой,

Вычитание указателей,

Инкремет, Дикремент

Операции применяются только к указателям одного типа.

Инкремент перемещает указатель к следующему элементу массива, декремент к предыдущему, то есть значения указателя изменяется на величину sizeof(тип).

Аналогично увеличение указателя на константу означает, что его значение изменяется на величину константы умноженной на размер объекта данного типа.

Пример:

short *p = new short[5];

p++;

long *q = new long [5];

q++;

Разность двух указателей — это разность их значений деленное на размер типа в байтах.

Унарная операция получения адреса & - применима к величинам, имеющих имя, и размещенных в оперативной памяти. Следовательно, с ее помощью получить адрес скалярного выражения или не именованной константы нельзя.

 

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных