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

single

Вказівники на структури

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

Мова програмування 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

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 і їй присвоюються значення координат, після чого ініціалізується вказівник на цю структуру. За допомогою оператора -> програма отримує доступ до полів структури через вказівник і виводить координати точки на екран.

Завдання

Проведіть, щоб почати кодувати

У вас є студент із оцінками з 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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt