Definere og Erklære Strukturer
Definering
En strukturdeklarasjon begynner med nøkkelordet struct.
main.c
1234567struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; };
<type_1> <field_1> - variabler som utgjør strukturen. Strukturdeklarasjonen opptar ikke minne, det vil si at den kun er en blåkopi, en mal.
Første metode
Når vi har deklarert en struktur, kan vi opprette en variabel av denne typen ved å bruke ordet struct.
main.c
1struct <name_of_struct> <name_of_variable>;
Deklarering av flere strukturvariabler gjøres på samme måte som for vanlige variabler:
main.c
1struct <name_of_struct> <name_of_variable_1>, <name_of_variable_2>,<name_of_variable_3>;
Andre metode
Dette alternativet gjør det mulig å instansiere strukturen umiddelbart etter at den er definert.
main.c
1234567struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; } <name_of_variable>; // defining of a variable
På denne måten er det praktisk å opprette flere variabler samtidig:
main.c
1234567struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; } <name_of_variable_1>, <name_of_variable_2>;
Initialisering
Initialisering av en struktur == initialisering av en variabel med en ny datatyp
For å initialisere en struktur må du bruke krøllparenteser {...}:
main.c
12345678910struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; }; // initialization of struct-variable struct <name_of_struct> <name_of_variable> = {field_1, field_2, field_N};
I dette tilfellet vil feltene bli tildelt i rekkefølge, og det er ikke nødvendig å angi datatypen for hvert felt, fordi dette allerede er definert i malen til strukturen.
Ved å bruke Student-strukturen som et eksempel — den inkluderer alle feltene vi trenger for en student: id, name og age. Nå er alle dataene lagret på ett sted, og vi har en egen struktur som enkelt kan gjenbrukes.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you show me an example of how to declare a struct in code?
How do I initialize a struct variable with values?
What are the benefits of using structures in programming?
Fantastisk!
Completion rate forbedret til 4.35
Definere og Erklære Strukturer
Sveip for å vise menyen
Definering
En strukturdeklarasjon begynner med nøkkelordet struct.
main.c
1234567struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; };
<type_1> <field_1> - variabler som utgjør strukturen. Strukturdeklarasjonen opptar ikke minne, det vil si at den kun er en blåkopi, en mal.
Første metode
Når vi har deklarert en struktur, kan vi opprette en variabel av denne typen ved å bruke ordet struct.
main.c
1struct <name_of_struct> <name_of_variable>;
Deklarering av flere strukturvariabler gjøres på samme måte som for vanlige variabler:
main.c
1struct <name_of_struct> <name_of_variable_1>, <name_of_variable_2>,<name_of_variable_3>;
Andre metode
Dette alternativet gjør det mulig å instansiere strukturen umiddelbart etter at den er definert.
main.c
1234567struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; } <name_of_variable>; // defining of a variable
På denne måten er det praktisk å opprette flere variabler samtidig:
main.c
1234567struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; } <name_of_variable_1>, <name_of_variable_2>;
Initialisering
Initialisering av en struktur == initialisering av en variabel med en ny datatyp
For å initialisere en struktur må du bruke krøllparenteser {...}:
main.c
12345678910struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; … <type_N> <field_N>; }; // initialization of struct-variable struct <name_of_struct> <name_of_variable> = {field_1, field_2, field_N};
I dette tilfellet vil feltene bli tildelt i rekkefølge, og det er ikke nødvendig å angi datatypen for hvert felt, fordi dette allerede er definert i malen til strukturen.
Ved å bruke Student-strukturen som et eksempel — den inkluderer alle feltene vi trenger for en student: id, name og age. Nå er alle dataene lagret på ett sted, og vi har en egen struktur som enkelt kan gjenbrukes.
Takk for tilbakemeldingene dine!