Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Struct-Kenttien Käsittely | Johdanto Structeihin
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C-Rakenteiden Hallinta

bookStruct-Kenttien Käsittely

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

Jotta voimme käyttää rakenteeseen tallennettuja tietoja, meidän täytyy käyttää .-operaattoria.

. avulla pääsemme käsiksi rakenteen (kenttien) tietoihin suoraan.

<struct>.<field>;

Tällä tavalla saamme pääsyn rakenteen jäsenen tietoihin.

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

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
Huomautus

Osoittimia 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

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
Huomio

Funktion strcpy() avulla kopioidaan määritetty ("Si") merkkijono luodun muuttujan name[3]-kenttään.

Tehtävä

Swipe to start coding

Sinulla on Product-rakenne, joka tallentaa tuotteen tiedot kaupassa: nimen, hinnan ja määrän. 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

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

close

bookStruct-Kenttien Käsittely

Pyyhkäise näyttääksesi valikon

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

Jotta voimme käyttää rakenteeseen tallennettuja tietoja, meidän täytyy käyttää .-operaattoria.

. avulla pääsemme käsiksi rakenteen (kenttien) tietoihin suoraan.

<struct>.<field>;

Tällä tavalla saamme pääsyn rakenteen jäsenen tietoihin.

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

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
Huomautus

Osoittimia 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

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
Huomio

Funktion strcpy() avulla kopioidaan määritetty ("Si") merkkijono luodun muuttujan name[3]-kenttään.

Tehtävä

Swipe to start coding

Sinulla on Product-rakenne, joka tallentaa tuotteen tiedot kaupassa: nimen, hinnan ja määrän. 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

some-alt