Чудово!
Completion показник покращився до 4.35single
Короткий Огляд Вказівників
Свайпніть щоб показати меню
Оператор розіменування
Вказівник — це змінна, що містить адресу іншого об'єкта.
Оператор розіменування "*" повертає значення, що зберігається за цією адресою.
Оголошення та ініціалізація вказівника виглядає так:
int* pName = NULL;
main.c
12345678#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }
Оператор взяття адреси &
Оператор & повертає адресу об'єкта:
main.c
12345678#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }
Змінна типу вказівника використовується для зберігання адреси, яку повертає оператор &.
int variable;
int* pVariable;
pVariable = &variable;
Щоб отримати вміст за вказаною адресою, необхідно використати оператор * для змінної типу вказівник.
main.c
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:
- Використовуйте оператор розіменування (
*) для доступу до поточного значення, що зберігається в пам'яті — наприклад,*priceозначає100.0. - Обчисліть відсоток від поточної ціни —
*price * percentIncrease / 100.0, для 10% від 100.0 це буде10.0. - Додайте цю відсоткову частину до початкового значення, щоб отримати оновлену ціну —
*price = *price + (percentage part). - Функція нічого не повертає — вона безпосередньо змінює значення через вказівник.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат