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

single

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt