Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Посилання та Розіменування | Вказівники
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Основи C
close
Секція 6. Розділ 2
single

single

bookПосилання та Розіменування

Свайпніть щоб показати меню

Вказівники базуються на двох операторах:

  • Оператор взяття адреси &.
  • Оператор розіменування *.

Оператор взяття адреси

Оператор взяття адреси, позначений як &, дозволяє безпосередньо працювати з оперативною пам’яттю комп’ютера. Використання & дає змогу отримати фактичну адресу в пам’яті об’єкта.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable into RAM: %p\n", &x); // using reference operator `&` for getting address return 0; }
Note
Примітка

Форматний специфікатор, який використовується для виведення адрес (вказівників), — це %p.

Адреси зазвичай записуються у шістнадцятковій системі числення.

Оператор розіменування

Оператор * повертає значення змінної за вказаною адресою. Як же використовувати цей оператор, якщо ми не працюємо безпосередньо з адресами? Якщо у вас є вираз на кшталт &x, який повертає адресу змінної x, застосування до нього оператора * (*&x) повертає значення змінної, що зберігається за цією адресою.

Note
Примітка

Фактично, *&x те саме, що й x.

Main.c

Main.c

copy
1234567891011121314
#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable in RAM: %p\n", &x); // using reference operator `&` printf("Dereferencing address of variable: %d", *(&x)); // using dereference operator `*` return 0; }
Note
Примітка

Не плутайте оператор розіменування (*x) з оператором множення (x*y).

Завдання

Swipe to start coding

  • Створення цілочисельного масиву з 5 елементів і його заповнення.
  • Отримання адреси третього елемента.
  • Збільшення адреси третього елемента та розіменування збільшеної адреси для виведення значення, на яке вона вказує.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 6. Розділ 2
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt