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

bookДоступ до Полів Структури

Після створення структури для опису хімічного елемента, можна взаємодіяти з нею.

Щоб отримати доступ до інформації, що міститься у структурі, необхідно використовувати оператор ..

Оператор . дозволяє безпосередньо звертатися до елементів (полів) структури.

<struct>.<field>;

Таким чином отримується доступ до члена структури.

Спробуємо вивести інформацію про кремній на екран:

main.c

main.c

copy
123456789101112131415161718192021
#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Примітка

Вказівники також широко використовуються для доступу до полів структури, але це буде розглянуто пізніше.

Якщо ви використовуєте другий спосіб створення змінної структури, необхідно присвоїти значення silicon.name за допомогою strcpy(), а потім вивести його за допомогою printf().

main.c

main.c

copy
12345678910111213141516171819202122232425
#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Примітка

Функція strcpy() використовується для копіювання вказаного рядка (“Si”) у поле name[3] створеної змінної.

Завдання

Swipe to start coding

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

Функція productCost приймає параметр типу Product.

  1. Усередині productCost перемножте поле price на поле quantity.
  2. У функції main створіть об'єкт Product із назвою, ціною та кількістю.
  3. Використайте printf, щоб вивести назву, ціну, кількість та загальну вартість товару (викликавши productCost).

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

bookДоступ до Полів Структури

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

Після створення структури для опису хімічного елемента, можна взаємодіяти з нею.

Щоб отримати доступ до інформації, що міститься у структурі, необхідно використовувати оператор ..

Оператор . дозволяє безпосередньо звертатися до елементів (полів) структури.

<struct>.<field>;

Таким чином отримується доступ до члена структури.

Спробуємо вивести інформацію про кремній на екран:

main.c

main.c

copy
123456789101112131415161718192021
#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Примітка

Вказівники також широко використовуються для доступу до полів структури, але це буде розглянуто пізніше.

Якщо ви використовуєте другий спосіб створення змінної структури, необхідно присвоїти значення silicon.name за допомогою strcpy(), а потім вивести його за допомогою printf().

main.c

main.c

copy
12345678910111213141516171819202122232425
#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Примітка

Функція strcpy() використовується для копіювання вказаного рядка (“Si”) у поле name[3] створеної змінної.

Завдання

Swipe to start coding

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

Функція productCost приймає параметр типу Product.

  1. Усередині productCost перемножте поле price на поле quantity.
  2. У функції main створіть об'єкт Product із назвою, ціною та кількістю.
  3. Використайте printf, щоб вивести назву, ціну, кількість та загальну вартість товару (викликавши productCost).

Рішення

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

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

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

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

single

some-alt