Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Struct-kenttien käsitteleminen | Johdanto Rakenteisiin
C-Rakenteet
Osio 1. Luku 5
single

single

Struct-kenttien käsitteleminen

Pyyhkäise näyttääksesi valikon

Kun olemme luoneet rakenteen kuvaamaan kemiallista alkuainetta, voimme vihdoin olla vuorovaikutuksessa sen kanssa.

Jotta voimme käyttää rakenteen sisältämää tietoa, meidän täytyy käyttää .-operaattoria.

. mahdollistaa rakenteen jäsenten (kenttien) suoran käytön.

<struct>.<field>;

Tällä tavalla saamme pääsyn rakenteen jäseneseen.

Yritetään näyttää piin tiedot näytöllä:

main.c

main.c

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
Huomautus

Pointtereita käytetään myös laajasti rakenteen kenttien käsittelyyn, mutta käsittelemme sitä myöhemmin.

Jos käytät toista tapaa luoda struct-muuttuja, sinun täytyy asettaa arvo kenttään silicon.name käyttäen strcpy()-funktiota ja näyttää se printf()-funktiolla.

main.c

main.c

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
Huomio

strcpy()-funktiota käytetään kopioimaan annettu ("Si") merkkijono luodun muuttujan name[3]-kenttään.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Product-rakenne tallentaa tiedot myymälän tuotteesta: nimi, hinta ja määrä. Tehtävänäsi on laskea tuotteen kokonaiskustannus kertomalla sen hinta määrällä.

Funktio productCost ottaa parametrinaan Product-rakenteen.

  1. Laske productCost-funktion sisällä kertomalla price-kenttä quantity-kentällä.
  2. main-funktiossa luo Product-olio, jolla on nimi, hinta ja määrä.
  3. Käytä printf-funktiota näyttääksesi tuotteen nimen, hinnan, määrän ja kokonaiskustannuksen (kutsumalla productCost).

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 5
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt