1) int* number_ptr;
Примеры:
2) double* double_ptr;
1) int* number_ptr = NULL;
Примеры:
2) double* double_ptr = NULL;
int Age = 18; // Инициализация переменной
int *pAge = &Age; // Инициализация указателя
double length = 7.77; // Инициализация переменной
double *pLength = &length; // Инициализация указателя
std::cout << "Value: " << Age << " Address: " << &Age << "\n";
std::cout << "Value: " << *pAge << " Address: " << pAge << "\n";
std::cout << "Value: " << length << " Address: " << &length << "\n";
std::cout << "Value: " << *pLength << " Address: " << pLength << "\n";
Value: 18 Address: 0x755f7830c954 Value: 18 Address: 0x755f7830c954 Value: 7.77 Address: 0x755f7830c958 Value: 7.77 Address: 0x755f7830c958
Результат
Value: 18 Address: 0x7774d6eadfe8 Value: 40 Address: 0x7774d6eadfec Value: 50 Address: 0x7774d6eadfec Value: 50 Address: 0x7774d6eadfec Value: 100 Address: 0x7774d6eadfec Value: 100 Address: 0x7774d6eadfec
Результат
(&) – оператор обращения к адресу.
int HoursInDay = 24;
const int* pInteger = &HoursInDay; // нельзя использовать pInteger
// для изменения HoursInDay
int MonthsInYear = 12;
pInteger = &MonthsInYear; // ok
*pInteger =13; // Ошибка компиляции: нельзя изменять данные
int* pAnotherPointerToInt = pInteger; // Ошибка компиляции: нельзя присвоить константу не константе
int DaysInMonth = 30;
// plnteger не может указать ни на что иное
int* const pDaysInMonth = &DaysInMonth;
*pDaysInMonth = 31; // OK! Значение может быть изменено
int DaysInLunarMonth = 28;
pDaysInMonth = &DaysInLunarMonth; // Ошибка компиляции: нельзя изменить адрес!
- И содержащийся в указателе адрес, и значение, на которое он указывает, являются константами и не могут быть изменены (самый ограничивающий вариант):
int HoursInDay = 24;
// указатель может указать только на HoursInDay
const int* const pHoursInDay = &HoursInDay;
*pHoursInDay = 25; // Ошибка компиляции: нельзя изменить значение, на которое указывает указатель
int DaysInMonth = 30;
pHoursInDay = &DaysInMonth; // Ошибка компиляции: нельзя изменить значение указателя
Пример увеличения указателя:
Address arr[0]: 0x725d8f0c27f0 Value: 1 Address arr[0] + 2: 0x725d8f0c27f8 Value: 10
Результат
Результат
Address arr[0]: 0x709e9d0b4d80 Address arr: 0x709e9d0b4d80 Value arr[i]: 1 Value *(arr + i): 1
Value arr[i]: 5 Value *(arr + i): 5
Value arr[i]: 10 Value *(arr + i): 10
Value arr[i]: 15 Value *(arr + i): 15
Value arr[i]: 20 Value *(arr + i): 20
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть