C++ dasturlash tili Ko'rsatgichlar, referatlar va dinamik xotira ajratish


Универсальный указатель или указатель void (


Download 267.5 Kb.
bet14/14
Sana20.06.2023
Hajmi267.5 Kb.
#1630767
TuriReferat
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
Язык программирования C

5.2 Универсальный указатель или указатель void (void *)
Указатель может содержать адрес любого типа данных (кроме указателя функции). Мы не можем оперировать объектом, на который указывает указатель, так как тип неизвестен. Мы можем использовать указатель для сравнения с другим адресом.voidvoidvoid
[ТОДО] Пример
Константный указатель и константа, указывающая на данные

  1. Неконстантный указатель на константные данные: данные, указанные на НЕ МОГУТ быть изменены; но указатель МОЖЕТ быть изменен так, чтобы он указывал на другие данные.

Например
int i1 = 8, i2 = 9;
const int * iptr = &i1; // non-constant pointer pointing to constant data
// *iptr = 9; // error: assignment of read-only location
iptr = &i2; // okay

  1. Постоянный указатель на неконстантные данные: данные, указывающие на CAN, могут быть изменены; но указатель НЕ МОЖЕТ быть изменен так, чтобы он указывал на другие данные.

Например
int i1 = 8, i2 = 9;
int * const iptr = &i1; // constant pointer pointing to non-constant data
// constant pointer must be initialized during declaration
*iptr = 9; // okay
// iptr = &i2; // error: assignment of read-only variable

  1. Постоянный указатель на константные данные: данные, указывающие на НЕ МОГУТ быть изменены; и указатель НЕ МОЖЕТ быть изменен так, чтобы он указывал на другие данные.

Например
int i1 = 8, i2 = 9;
const int * const iptr = &i1; // constant pointer pointing to constant data
// *iptr = 9; // error: assignment of read-only variable
// iptr = &i2; // error: assignment of read-only variable

  1. Непостоянный указатель на неконстантные данные: данные, указывающие на CAN, могут быть изменены; и указатель МОЖЕТ быть изменен так, чтобы он указывал на другие данные.

Например
int i1 = 8, i2 = 9;
int * iptr = &i1; // non-constant pointer pointing to non-constant data
*iptr = 9; // okay
iptr = &i2; // okay
Download 267.5 Kb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling