Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Короткий Огляд Вказівників | Робота з Вказівниками та Структурами
Опанування Структур у C

bookКороткий Огляд Вказівників

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

Вказівник — це змінна, що містить адресу іншого об'єкта.

Оператор розіменування "*" повертає значення, що зберігається за цією адресою.

Оголошення та ініціалізація вказівника виглядає так:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

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

Оператор & повертає адресу об'єкта:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Змінна типу вказівника використовується для зберігання адреси, яку повертає оператор &.

int variable;
int* pVariable;
pVariable = &variable;

Щоб отримати вміст за вказаною адресою, необхідно використати оператор * для змінної типу вказівник.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Завдання

Swipe to start coding

У вас є продукт із певною ціною, і потрібно збільшити її на заданий відсоток.
Ваше завдання — реалізувати функцію, яка оновлює ціну продукту за допомогою вказівника.

Усередині функції updatePrice:

  1. Використовуйте оператор розіменування (*) для доступу до поточного значення, що зберігається в пам'яті — наприклад, *price означає 100.0.
  2. Обчисліть відсоток від поточної ціни*price * percentIncrease / 100.0, для 10% від 100.0 це буде 10.0.
  3. Додайте цю відсоткову частину до початкового значення, щоб отримати оновлену ціну*price = *price + (percentage part).
  4. Функція нічого не повертає — вона безпосередньо змінює значення через вказівник.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Рішення

Все було зрозуміло?

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain the difference between the * and & operators in more detail?

Can you give an example of how to use pointers in a function?

What are some common mistakes when working with pointers?

close

bookКороткий Огляд Вказівників

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

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

Вказівник — це змінна, що містить адресу іншого об'єкта.

Оператор розіменування "*" повертає значення, що зберігається за цією адресою.

Оголошення та ініціалізація вказівника виглядає так:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

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

Оператор & повертає адресу об'єкта:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Змінна типу вказівника використовується для зберігання адреси, яку повертає оператор &.

int variable;
int* pVariable;
pVariable = &variable;

Щоб отримати вміст за вказаною адресою, необхідно використати оператор * для змінної типу вказівник.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Завдання

Swipe to start coding

У вас є продукт із певною ціною, і потрібно збільшити її на заданий відсоток.
Ваше завдання — реалізувати функцію, яка оновлює ціну продукту за допомогою вказівника.

Усередині функції updatePrice:

  1. Використовуйте оператор розіменування (*) для доступу до поточного значення, що зберігається в пам'яті — наприклад, *price означає 100.0.
  2. Обчисліть відсоток від поточної ціни*price * percentIncrease / 100.0, для 10% від 100.0 це буде 10.0.
  3. Додайте цю відсоткову частину до початкового значення, щоб отримати оновлену ціну*price = *price + (percentage part).
  4. Функція нічого не повертає — вона безпосередньо змінює значення через вказівник.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Рішення

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

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

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

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

single

some-alt