SlideShare a Scribd company logo
1 of 2
Download to read offline
Вказівники в мові C++
Вказівники в мові C++...........................................................................................1
Оголошення та ініціалізація вказівників .............................................................1
Оператор розіменування .....................................................................................1
Динамічне створення змінної та вивільнення пам’яті........................................2
Використання динамічних масивів......................................................................2
Оголошення та ініціалізація вказівників
В комп’ютерній пам’яті для кожної змінної відводиться деяка комірка, яка має свою фізичну
адресу. Ми можемо створювати змінні для зберігання адрес комірок. Такі змінні називаються
вказівниками. При оголошенні вказівника, задаємо тип даних, на який він вказує та перед його
назвою ставимо символ астериску *:
int * p; //Оголошення вказівника
int *p1; //Можна без пробілу
int *p2, *p3; //Оголошення декількох вказівників в одному рядку (небажано)
Для присвоювання вказівнику адреси змінної використовуємо оператор &.
int b = 123;
int * pnt = &b; //Вказівник pnt містить адресу змінної b
cout << pnt << endl; //Вивід фізичної адреси змінної
Отже, вказівник зберігає не значення, а адресу змінної.
Оператор розіменування
Для того, щоб отримати значення змінної, на яку вказує даний вказівник, використовуємо
оператор розіменування *:
int a = 123;
int *pnt = &a;
int b = *pnt; //123 - значення, на яке вказує вказівник
*pnt = 1234; //В комірку з адресою вказівника записуємо нове значення
cout << a << endl; //1234
Вказівник pnt відповідає адресі змінної a, *pnt відповідає значенню 123, збереженому за даною
адресою. Отже, при звертанні до вказівника без оператора розіменування, ми отримуємо
значення самого вказівника – адресу, на яку він вказує. Якщо перед вказівником стоїть оператор
розіменування, то даний вказівник звертається до значення на який він вказує. До речі, слід
відрізняти символ * при оголошенні вказівника та оператор розіменування *.
Динамічне створення змінної та вивільнення пам’яті
Інколи при створенні змінних після їх роботи нам потрібно вивільнити пам'ять цих змінних. Для
цього можна використати вказівники:
int * p = new int; //Оголошення динамічної змінної через вказівник
* p = 123; //Присвоєння значення змінній
delete p; //Вивільнення пам'яті
Динамічну змінну можна ініціалізувати при оголошенні:
int * p = new int(123); //Ініціалізація динамічної змінної
Використання динамічних масивів
В мові C++ за допомогою вказівників ми можемо працювати з динамічними масивами:
#include <iostream>
using namespace std;
int output(int * arr, int arr_size){
for (int i = 0; i< arr_size; i++){
cout<<arr[i]<<" ";
}
}
int main()
{
int n;
cin >> n; //Розмір масиву
int * a = new int[n]; //Оголошення динамічного масиву
//Заповнення масиву даними
for(int i = 0; i<n; i++) {
a[i] = i;
}
output(a, n); //Виклик функції з передачею вказівника на масив
delete[] a; //Вивільнення пам'яті від масиву
return 0;
}

More Related Content

What's hot

Урок 35. Логічні вирази. Змінні логічного типу.
Урок 35. Логічні вирази.  Змінні  логічного  типу.Урок 35. Логічні вирази.  Змінні  логічного  типу.
Урок 35. Логічні вирази. Змінні логічного типу.Василь Тереховський
 
школа розвитку успішної особистості
школа розвитку успішної особистостішкола розвитку успішної особистості
школа розвитку успішної особистостіNatalia Skovorodkina
 
Портфоліо викладача та студента
Портфоліо викладача та студентаПортфоліо викладача та студента
Портфоліо викладача та студентаavsubbotina
 
використання ігрових технологій на уроках інформатики
використання ігрових технологій на  уроках інформатикивикористання ігрових технологій на  уроках інформатики
використання ігрових технологій на уроках інформатикиValeriy1979
 
рядки
рядкирядки
рядкиcit-cit
 
«Використання сервісів Google та хмарних технологій в навчальному процесі»
«Використання сервісів Google та хмарних технологій в навчальному процесі»«Використання сервісів Google та хмарних технологій в навчальному процесі»
«Використання сервісів Google та хмарних технологій в навчальному процесі»Андрей Виноходов
 
Кругові та стовпчасті діаграми
Кругові та стовпчасті діаграмиКругові та стовпчасті діаграми
Кругові та стовпчасті діаграмиNataliaGrychko
 
Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...
Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...
Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...Виктор Мараренко
 
Україна в інформатиці
Україна в інформатиціУкраїна в інформатиці
Україна в інформатиціYaroslava Bondar
 
Тема 2. Основні періоди розвитку управлінської думки.
Тема 2. Основні періоди розвитку управлінської думки.Тема 2. Основні періоди розвитку управлінської думки.
Тема 2. Основні періоди розвитку управлінської думки.NinaDrokina
 
ндр, її створення
ндр, її створенняндр, її створення
ндр, її створенняdolidn
 
Циклічні алгоритми
Циклічні алгоритми Циклічні алгоритми
Циклічні алгоритми Александр К
 
ВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГА
ВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГАВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГА
ВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГАOleksii Voronkin
 
Алгоритми з повторенням
Алгоритми з повтореннямАлгоритми з повторенням
Алгоритми з повтореннямal12309
 
4 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-20214 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-2021NoName520
 
засоби навчання
засоби навчаннязасоби навчання
засоби навчанняIrynairyna94
 
програмні засоби
програмні засобипрограмні засоби
програмні засобиNataKvasha
 
комп’ютерна презентація
комп’ютерна презентаціякомп’ютерна презентація
комп’ютерна презентаціяNVK4
 

What's hot (20)

Урок 35. Логічні вирази. Змінні логічного типу.
Урок 35. Логічні вирази.  Змінні  логічного  типу.Урок 35. Логічні вирази.  Змінні  логічного  типу.
Урок 35. Логічні вирази. Змінні логічного типу.
 
школа розвитку успішної особистості
школа розвитку успішної особистостішкола розвитку успішної особистості
школа розвитку успішної особистості
 
Портфоліо викладача та студента
Портфоліо викладача та студентаПортфоліо викладача та студента
Портфоліо викладача та студента
 
використання ігрових технологій на уроках інформатики
використання ігрових технологій на  уроках інформатикивикористання ігрових технологій на  уроках інформатики
використання ігрових технологій на уроках інформатики
 
рядки
рядкирядки
рядки
 
«Використання сервісів Google та хмарних технологій в навчальному процесі»
«Використання сервісів Google та хмарних технологій в навчальному процесі»«Використання сервісів Google та хмарних технологій в навчальному процесі»
«Використання сервісів Google та хмарних технологій в навчальному процесі»
 
урок 31 анімаційні ефекти у комп’ютерній презентації
урок 31 анімаційні ефекти у комп’ютерній презентації урок 31 анімаційні ефекти у комп’ютерній презентації
урок 31 анімаційні ефекти у комп’ютерній презентації
 
Кругові та стовпчасті діаграми
Кругові та стовпчасті діаграмиКругові та стовпчасті діаграми
Кругові та стовпчасті діаграми
 
Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...
Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...
Компетентнісний підхід до навчально виховного процесу в умовах впровадження н...
 
Україна в інформатиці
Україна в інформатиціУкраїна в інформатиці
Україна в інформатиці
 
Тема 2. Основні періоди розвитку управлінської думки.
Тема 2. Основні періоди розвитку управлінської думки.Тема 2. Основні періоди розвитку управлінської думки.
Тема 2. Основні періоди розвитку управлінської думки.
 
ндр, її створення
ндр, її створенняндр, її створення
ндр, її створення
 
Циклічні алгоритми
Циклічні алгоритми Циклічні алгоритми
Циклічні алгоритми
 
Типи уроків та їх структура
Типи уроків та їх структураТипи уроків та їх структура
Типи уроків та їх структура
 
ВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГА
ВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГАВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГА
ВОРОНКІН О.С. ТЕХНОЛОГІЇ ШТУЧНОГО ІНТЕЛЕКТУ В ПРОФЕСІЙНІЙ ДІЯЛЬНОСТІ ПЕДАГОГА
 
Алгоритми з повторенням
Алгоритми з повтореннямАлгоритми з повторенням
Алгоритми з повторенням
 
4 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-20214 klas-informatyka-vdovenko-2021
4 klas-informatyka-vdovenko-2021
 
засоби навчання
засоби навчаннязасоби навчання
засоби навчання
 
програмні засоби
програмні засобипрограмні засоби
програмні засоби
 
комп’ютерна презентація
комп’ютерна презентаціякомп’ютерна презентація
комп’ютерна презентація
 

Viewers also liked

Report analisi informazionesenzafiltro_update-11_2015
Report analisi informazionesenzafiltro_update-11_2015Report analisi informazionesenzafiltro_update-11_2015
Report analisi informazionesenzafiltro_update-11_2015Osvaldo Danzi
 
Оценка качества магистерского образования в России. Рейтинг вузов
Оценка качества магистерского образования в России. Рейтинг вузовОценка качества магистерского образования в России. Рейтинг вузов
Оценка качества магистерского образования в России. Рейтинг вузовStepan Zemtsov
 
Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...
Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...
Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...Clifton M. Hasegawa & Associates, LLC
 
Wowfest mobile marketing
Wowfest mobile marketingWowfest mobile marketing
Wowfest mobile marketingMM2B
 
Роль кластеров в промышленной и инновационной политике
Роль кластеров в промышленной и инновационной политике Роль кластеров в промышленной и инновационной политике
Роль кластеров в промышленной и инновационной политике BDA
 
Pre-marathon nutrition and marathon hydration methods
Pre-marathon nutrition and marathon hydration methodsPre-marathon nutrition and marathon hydration methods
Pre-marathon nutrition and marathon hydration methodsRegine du Plessis
 
Animals Animals Everywhere
Animals Animals EverywhereAnimals Animals Everywhere
Animals Animals Everywheregboutin
 
Startup Turkey 2016 - Yousef Hamidaddin
Startup Turkey 2016 - Yousef HamidaddinStartup Turkey 2016 - Yousef Hamidaddin
Startup Turkey 2016 - Yousef HamidaddinStartup Turkey
 
Budaya masyarakat nelayan-kusnadi
Budaya masyarakat nelayan-kusnadiBudaya masyarakat nelayan-kusnadi
Budaya masyarakat nelayan-kusnadiDzulfikar Rizka
 
Кластеры и бренды регионов 21052016
Кластеры и бренды регионов 21052016Кластеры и бренды регионов 21052016
Кластеры и бренды регионов 21052016Evgeny Kutsenko
 
Тест «Мотивационный тип»
Тест «Мотивационный тип»Тест «Мотивационный тип»
Тест «Мотивационный тип»Anastasia Solntseva
 
12 золотых правил продаж
12 золотых правил продаж12 золотых правил продаж
12 золотых правил продажNadezhda Ivera
 

Viewers also liked (20)

Kutsenko 23 12 2015 en
Kutsenko 23 12 2015 enKutsenko 23 12 2015 en
Kutsenko 23 12 2015 en
 
Report analisi informazionesenzafiltro_update-11_2015
Report analisi informazionesenzafiltro_update-11_2015Report analisi informazionesenzafiltro_update-11_2015
Report analisi informazionesenzafiltro_update-11_2015
 
Оценка качества магистерского образования в России. Рейтинг вузов
Оценка качества магистерского образования в России. Рейтинг вузовОценка качества магистерского образования в России. Рейтинг вузов
Оценка качества магистерского образования в России. Рейтинг вузов
 
Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...
Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...
Maui - Sustainability and Viability - House Bill 2501 - Sign into law -Messag...
 
Wowfest mobile marketing
Wowfest mobile marketingWowfest mobile marketing
Wowfest mobile marketing
 
Роль кластеров в промышленной и инновационной политике
Роль кластеров в промышленной и инновационной политике Роль кластеров в промышленной и инновационной политике
Роль кластеров в промышленной и инновационной политике
 
Pre-marathon nutrition and marathon hydration methods
Pre-marathon nutrition and marathon hydration methodsPre-marathon nutrition and marathon hydration methods
Pre-marathon nutrition and marathon hydration methods
 
STA-студии
STA-студииSTA-студии
STA-студии
 
Animals Animals Everywhere
Animals Animals EverywhereAnimals Animals Everywhere
Animals Animals Everywhere
 
Asi
AsiAsi
Asi
 
Startup Turkey 2016 - Yousef Hamidaddin
Startup Turkey 2016 - Yousef HamidaddinStartup Turkey 2016 - Yousef Hamidaddin
Startup Turkey 2016 - Yousef Hamidaddin
 
Budaya masyarakat nelayan-kusnadi
Budaya masyarakat nelayan-kusnadiBudaya masyarakat nelayan-kusnadi
Budaya masyarakat nelayan-kusnadi
 
Кластеры и бренды регионов 21052016
Кластеры и бренды регионов 21052016Кластеры и бренды регионов 21052016
Кластеры и бренды регионов 21052016
 
Мониторинг качества образования - 2015
Мониторинг качества образования - 2015Мониторинг качества образования - 2015
Мониторинг качества образования - 2015
 
Deepweb
DeepwebDeepweb
Deepweb
 
Rpp sosiologi xii bab 4
Rpp sosiologi xii bab 4Rpp sosiologi xii bab 4
Rpp sosiologi xii bab 4
 
Тест «Мотивационный тип»
Тест «Мотивационный тип»Тест «Мотивационный тип»
Тест «Мотивационный тип»
 
12 золотых правил продаж
12 золотых правил продаж12 золотых правил продаж
12 золотых правил продаж
 
Emotional development of child
Emotional development of child Emotional development of child
Emotional development of child
 
Social and emotional development
Social and emotional developmentSocial and emotional development
Social and emotional development
 

More from Alexander Kuzmenko

Робота з файлами в C++
Робота з файлами в C++Робота з файлами в C++
Робота з файлами в C++Alexander Kuzmenko
 
Використання класу string для роботи з рядками в C++
Використання класу string для роботи з рядками в C++Використання класу string для роботи з рядками в C++
Використання класу string для роботи з рядками в C++Alexander Kuzmenko
 
Циклічні оператори в C++
Циклічні оператори в C++Циклічні оператори в C++
Циклічні оператори в C++Alexander Kuzmenko
 
Розгалуження в мові C++
Розгалуження в мові C++Розгалуження в мові C++
Розгалуження в мові C++Alexander Kuzmenko
 
Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Alexander Kuzmenko
 
Тиждень біології 2014
Тиждень біології   2014Тиждень біології   2014
Тиждень біології 2014Alexander Kuzmenko
 
календарно тематичне планування з хімії
календарно тематичне планування з хіміїкалендарно тематичне планування з хімії
календарно тематичне планування з хіміїAlexander Kuzmenko
 
календарно тематичне планування з біології
календарно тематичне планування з біологіїкалендарно тематичне планування з біології
календарно тематичне планування з біологіїAlexander Kuzmenko
 
олімпіади з біології
олімпіади з біологіїолімпіади з біології
олімпіади з біологіїAlexander Kuzmenko
 
Правила прийому до музичного училища в 2014 році
Правила прийому до музичного училища в 2014 роціПравила прийому до музичного училища в 2014 році
Правила прийому до музичного училища в 2014 роціAlexander Kuzmenko
 

More from Alexander Kuzmenko (11)

Робота з файлами в C++
Робота з файлами в C++Робота з файлами в C++
Робота з файлами в C++
 
Використання класу string для роботи з рядками в C++
Використання класу string для роботи з рядками в C++Використання класу string для роботи з рядками в C++
Використання класу string для роботи з рядками в C++
 
Циклічні оператори в C++
Циклічні оператори в C++Циклічні оператори в C++
Циклічні оператори в C++
 
Розгалуження в мові C++
Розгалуження в мові C++Розгалуження в мові C++
Розгалуження в мові C++
 
Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++
 
Ukraine cinema
Ukraine cinemaUkraine cinema
Ukraine cinema
 
Тиждень біології 2014
Тиждень біології   2014Тиждень біології   2014
Тиждень біології 2014
 
календарно тематичне планування з хімії
календарно тематичне планування з хіміїкалендарно тематичне планування з хімії
календарно тематичне планування з хімії
 
календарно тематичне планування з біології
календарно тематичне планування з біологіїкалендарно тематичне планування з біології
календарно тематичне планування з біології
 
олімпіади з біології
олімпіади з біологіїолімпіади з біології
олімпіади з біології
 
Правила прийому до музичного училища в 2014 році
Правила прийому до музичного училища в 2014 роціПравила прийому до музичного училища в 2014 році
Правила прийому до музичного училища в 2014 році
 

Recently uploaded

О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяAdriana Himinets
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»tetiana1958
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfssuser15a891
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfssuser54595a
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»tetiana1958
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...JurgenstiX
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxOlgaDidenko6
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptxssuserc301ed1
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняAdriana Himinets
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяssuser0a4f48
 

Recently uploaded (13)

Її величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptxЇї величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptx
 
О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. Біографія
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
 
Віртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptxВіртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptx
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповідання
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентація
 

Вказівники в мові C++

  • 1. Вказівники в мові C++ Вказівники в мові C++...........................................................................................1 Оголошення та ініціалізація вказівників .............................................................1 Оператор розіменування .....................................................................................1 Динамічне створення змінної та вивільнення пам’яті........................................2 Використання динамічних масивів......................................................................2 Оголошення та ініціалізація вказівників В комп’ютерній пам’яті для кожної змінної відводиться деяка комірка, яка має свою фізичну адресу. Ми можемо створювати змінні для зберігання адрес комірок. Такі змінні називаються вказівниками. При оголошенні вказівника, задаємо тип даних, на який він вказує та перед його назвою ставимо символ астериску *: int * p; //Оголошення вказівника int *p1; //Можна без пробілу int *p2, *p3; //Оголошення декількох вказівників в одному рядку (небажано) Для присвоювання вказівнику адреси змінної використовуємо оператор &. int b = 123; int * pnt = &b; //Вказівник pnt містить адресу змінної b cout << pnt << endl; //Вивід фізичної адреси змінної Отже, вказівник зберігає не значення, а адресу змінної. Оператор розіменування Для того, щоб отримати значення змінної, на яку вказує даний вказівник, використовуємо оператор розіменування *: int a = 123; int *pnt = &a; int b = *pnt; //123 - значення, на яке вказує вказівник *pnt = 1234; //В комірку з адресою вказівника записуємо нове значення cout << a << endl; //1234 Вказівник pnt відповідає адресі змінної a, *pnt відповідає значенню 123, збереженому за даною адресою. Отже, при звертанні до вказівника без оператора розіменування, ми отримуємо значення самого вказівника – адресу, на яку він вказує. Якщо перед вказівником стоїть оператор розіменування, то даний вказівник звертається до значення на який він вказує. До речі, слід відрізняти символ * при оголошенні вказівника та оператор розіменування *.
  • 2. Динамічне створення змінної та вивільнення пам’яті Інколи при створенні змінних після їх роботи нам потрібно вивільнити пам'ять цих змінних. Для цього можна використати вказівники: int * p = new int; //Оголошення динамічної змінної через вказівник * p = 123; //Присвоєння значення змінній delete p; //Вивільнення пам'яті Динамічну змінну можна ініціалізувати при оголошенні: int * p = new int(123); //Ініціалізація динамічної змінної Використання динамічних масивів В мові C++ за допомогою вказівників ми можемо працювати з динамічними масивами: #include <iostream> using namespace std; int output(int * arr, int arr_size){ for (int i = 0; i< arr_size; i++){ cout<<arr[i]<<" "; } } int main() { int n; cin >> n; //Розмір масиву int * a = new int[n]; //Оголошення динамічного масиву //Заповнення масиву даними for(int i = 0; i<n; i++) { a[i] = i; } output(a, n); //Виклик функції з передачею вказівника на масив delete[] a; //Вивільнення пам'яті від масиву return 0; }