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

bookВказівники на Структури

Мова програмування C дозволяє створювати вказівники не лише на звичайні типи даних, а й на структури (оскільки структура є користувацьким типом даних).

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

struct <name_of_struct>
{
    <field_of_struct>;
};

struct <name_of_struct>* <name_of_pointer>;

Якщо <name_of_pointer> — це вказівник на структуру,
то *(<name_of_pointer>) — це сама структура.

Для доступу до полів структури через вказівник необхідно використовувати оператор ->.

Note
Примітка

-> є аналогом оператора доступу до структури .

main.c

main.c

copy
12345678910111213141516171819202122
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }

Ця програма демонструє роботу зі структурою Point, яка зберігає дві координати: x та y. У функції main створюється змінна p1 і їй присвоюються значення координат, після чого ініціалізується вказівник на цю структуру. За допомогою оператора -> програма отримує доступ до полів структури через вказівник і виводить координати точки на екран.

Завдання

Swipe to start coding

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

У функції calculateAverageAndCheck:

  1. Отримайте оцінку з кожного предмета за допомогою вказівника.
  2. Додайте всі три оцінки, щоб знайти загальний бал.
  3. Поділіть загальний бал на 3.0, щоб обчислити середню оцінку.
  4. Порівняйте результат з прохідним балом 60.
  5. Якщо середня оцінка більша або дорівнює 60, поверніть true (студент склав).
  6. Інакше поверніть false (студент не склав).

Приклад

MathPhysicsProgrammingAverageResult
85.055.060.066.67✅ Passed
50.040.045.045.00❌ Failed
60.060.060.060.00✅ Passed

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

bookВказівники на Структури

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

Мова програмування C дозволяє створювати вказівники не лише на звичайні типи даних, а й на структури (оскільки структура є користувацьким типом даних).

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

struct <name_of_struct>
{
    <field_of_struct>;
};

struct <name_of_struct>* <name_of_pointer>;

Якщо <name_of_pointer> — це вказівник на структуру,
то *(<name_of_pointer>) — це сама структура.

Для доступу до полів структури через вказівник необхідно використовувати оператор ->.

Note
Примітка

-> є аналогом оператора доступу до структури .

main.c

main.c

copy
12345678910111213141516171819202122
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }

Ця програма демонструє роботу зі структурою Point, яка зберігає дві координати: x та y. У функції main створюється змінна p1 і їй присвоюються значення координат, після чого ініціалізується вказівник на цю структуру. За допомогою оператора -> програма отримує доступ до полів структури через вказівник і виводить координати точки на екран.

Завдання

Swipe to start coding

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

У функції calculateAverageAndCheck:

  1. Отримайте оцінку з кожного предмета за допомогою вказівника.
  2. Додайте всі три оцінки, щоб знайти загальний бал.
  3. Поділіть загальний бал на 3.0, щоб обчислити середню оцінку.
  4. Порівняйте результат з прохідним балом 60.
  5. Якщо середня оцінка більша або дорівнює 60, поверніть true (студент склав).
  6. Інакше поверніть false (студент не склав).

Приклад

MathPhysicsProgrammingAverageResult
85.055.060.066.67✅ Passed
50.040.045.045.00❌ Failed
60.060.060.060.00✅ Passed

Рішення

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

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

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

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

single

some-alt