Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Tilgang til Felt i Struct | Introduksjon til Structs
Mestre C-strukturer

bookTilgang til Felt i Struct

Etter at vi har opprettet en struktur for å beskrive et kjemisk element, kan vi endelig samhandle med den.

For å få tilgang til informasjonen som er lagret i strukturen, må vi bruke .-operatoren.

.-operatoren gir oss direkte tilgang til elementene (feltene) i strukturen.

<struct>.<field>;

På denne måten får vi tilgang til et medlem av strukturen.

La oss prøve å vise informasjon om silisium på skjermen:

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
Merk

Pekere brukes også mye for å få tilgang til strukturfelter, men dette vil vi ta for oss senere.

Hvis du bruker den andre metoden for å opprette en strukturvariabel, må du tildele en verdi til silicon.name ved å bruke strcpy(), og deretter vise den med 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
Merk

Funksjonen strcpy() brukes til å kopiere den angitte ("Si") strengen til name[3]-feltet i den opprettede variabelen.

Oppgave

Swipe to start coding

Du har en Product-struktur som lagrer informasjon om et produkt i en butikk: navn, pris og antall. Din oppgave er å beregne den totale kostnaden for et produkt ved å multiplisere prisen med antallet.

Funksjonen productCost tar en Product som parameter.

  1. Inne i productCost, multipliser feltet price med feltet quantity.
  2. I main, opprett et Product-objekt med navn, pris og antall.
  3. Bruk printf for å vise produktets navn, pris, antall og total kostnad (ved å kalle productCost).

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 5
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

bookTilgang til Felt i Struct

Sveip for å vise menyen

Etter at vi har opprettet en struktur for å beskrive et kjemisk element, kan vi endelig samhandle med den.

For å få tilgang til informasjonen som er lagret i strukturen, må vi bruke .-operatoren.

.-operatoren gir oss direkte tilgang til elementene (feltene) i strukturen.

<struct>.<field>;

På denne måten får vi tilgang til et medlem av strukturen.

La oss prøve å vise informasjon om silisium på skjermen:

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
Merk

Pekere brukes også mye for å få tilgang til strukturfelter, men dette vil vi ta for oss senere.

Hvis du bruker den andre metoden for å opprette en strukturvariabel, må du tildele en verdi til silicon.name ved å bruke strcpy(), og deretter vise den med 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
Merk

Funksjonen strcpy() brukes til å kopiere den angitte ("Si") strengen til name[3]-feltet i den opprettede variabelen.

Oppgave

Swipe to start coding

Du har en Product-struktur som lagrer informasjon om et produkt i en butikk: navn, pris og antall. Din oppgave er å beregne den totale kostnaden for et produkt ved å multiplisere prisen med antallet.

Funksjonen productCost tar en Product som parameter.

  1. Inne i productCost, multipliser feltet price med feltet quantity.
  2. I main, opprett et Product-objekt med navn, pris og antall.
  3. Bruk printf for å vise produktets navn, pris, antall og total kostnad (ved å kalle productCost).

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 5
single

single

some-alt