C Structures (structs)

I C programmeringssproget giver struct-nøgleordet udviklerne mulighed for at oprette en brugerdefineret datatypen. En struct er en samling af forskellige datatyper (som f.eks. int, char, float osv.), der kan gruppes sammen for at danne en enkelt enhed.

Når man arbejder med C structs, kan man oprette en ny datatype, der består af flere felter (også kendt som medlemmer). Disse felter kan være forskellige datatyper, der repræsenterer forskellige attributter for den pågældende struktur.

For at oprette en struct skal man bruge følgende syntaks:

struct struct_navn {   datatype1 medlemsnavn1;   datatype2 medlemsnavn2;   //...   datatypeN medlemsnavnN;};

Lad os tage et eksempel. Hvis vi ønsker at oprette en struct til at repræsentere en person, kan vi bruge følgende kode:

struct Person {   char navn[50];   int alder;   float højde;};

I dette eksempel har vi oprettet en struct med navnet “Person”. Structen har tre medlemmer: “navn” af typen char-array, “alder” af typen integer og “højde” af typen float.

For at oprette en variabel af typen struct bruger vi følgende syntaks:

struct struct_navn variabel_navn;

For at arbejde med variablen kan vi bruge medlemstilgængelsesoperatøren “.”” efter variablenavnet. Lad os se et eksempel:

struct Person p1;strcpy(p1.navn, "John Doe");p1.alder = 30;p1.højde = 1.8;

I dette eksempel opretter vi en variabel “p1” af typen “Person” og tilskriver værdier til dens medlemmer. Vi bruger strcpy funktionen til at kopiere en streng til “navn” medlemmet.

En af fordelene ved structs i C er muligheden for at oprette arrays af structs. Man kan oprette et array af structer, som gør det muligt at arbejde med flere instanser af den samme datatype. For at oprette et array af structs bruger vi følgende syntaks:

struct struct_navn array_navn[array_størrelse];

Lad os tage et eksempel med et array af “Person” structs:

struct Person personer[3];strcpy(personer[0].navn, "John Doe");personer[0].alder = 30;personer[0].højde = 1.8;strcpy(personer[1].navn, "Jane Smith");personer[1].alder = 25;personer[1].højde = 1.65;strcpy(personer[2].navn, "Bob Johnson");personer[2].alder = 40;personer[2].højde = 1.75;

I dette eksempel oprettes et array “personer” af tre “Person” structs. Derefter tilskrives værdier til medlemmerne for hver instans af structen i arrayet.

Structs er en vigtig del af C-sproget, da de giver udviklere mulighed for at organisere og repræsentere data på en mere struktureret og forståelig måde. De bruges ofte til at oprette komplekse datatyper såsom lister, træer og grafer.

Hvis du ønsker at lære mere om C structs og hvordan de kan bruges i programmekoden, kan du besøge denne kilde: https://gigagurus.dk/c-structures-structs/.