Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Definiera och Deklarera Strukturer | Introduktion till Strukturer
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Behärska C-Strukturer

bookDefiniera och Deklarera Strukturer

Definition

En strukturdeklaration inleds med nyckelordet struct.

main.c

main.c

copy
1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; };

<type_1> <field_1> - variabler som kommer att utgöra strukturen. Strukturdeklarationen tar inte upp något minne, det vill säga, det är endast en ritning, en mall.

Första metoden

När vi har deklarerat en struktur kan vi skapa en variabel av den typen med hjälp av ordet struct.

main.c

main.c

copy
1
struct <name_of_struct> <name_of_variable>;

Att deklarera flera strukturvariabler görs på samma sätt som att deklarera vanliga variabler:

main.c

main.c

copy
1
struct <name_of_struct> <name_of_variable_1>, <name_of_variable_2>,<name_of_variable_3>;

Andra metoden

Detta alternativ möjliggör att strukturen kan instansieras omedelbart efter att den har definierats.

main.c

main.c

copy
1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; } <name_of_variable>; // defining of a variable

På detta sätt är det bekvämt att skapa flera variabler samtidigt:

main.c

main.c

copy
1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; } <name_of_variable_1>, <name_of_variable_2>;

Initiering

Initiering av en struktur == initiering av en variabel av en ny datatyp

För att initiera en struktur måste du använda klamrar {...}:

main.c

main.c

copy
12345678910
struct <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 det här fallet kommer fälten att tilldelas i ordning och det finns inget behov av att ange datatypen för varje fält, eftersom detta redan har specificerats i strukturens ritning.

Med strukturen Student som exempel — den innehåller alla fält vi behöver för en student: id, name och age. Nu lagras all data på ett ställe, och vi har en separat struktur som enkelt kan återanvändas.

question mark

Välj alternativet med korrekt strukturdeklaration:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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?

bookDefiniera och Deklarera Strukturer

Svep för att visa menyn

Definition

En strukturdeklaration inleds med nyckelordet struct.

main.c

main.c

copy
1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; };

<type_1> <field_1> - variabler som kommer att utgöra strukturen. Strukturdeklarationen tar inte upp något minne, det vill säga, det är endast en ritning, en mall.

Första metoden

När vi har deklarerat en struktur kan vi skapa en variabel av den typen med hjälp av ordet struct.

main.c

main.c

copy
1
struct <name_of_struct> <name_of_variable>;

Att deklarera flera strukturvariabler görs på samma sätt som att deklarera vanliga variabler:

main.c

main.c

copy
1
struct <name_of_struct> <name_of_variable_1>, <name_of_variable_2>,<name_of_variable_3>;

Andra metoden

Detta alternativ möjliggör att strukturen kan instansieras omedelbart efter att den har definierats.

main.c

main.c

copy
1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; } <name_of_variable>; // defining of a variable

På detta sätt är det bekvämt att skapa flera variabler samtidigt:

main.c

main.c

copy
1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; } <name_of_variable_1>, <name_of_variable_2>;

Initiering

Initiering av en struktur == initiering av en variabel av en ny datatyp

För att initiera en struktur måste du använda klamrar {...}:

main.c

main.c

copy
12345678910
struct <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 det här fallet kommer fälten att tilldelas i ordning och det finns inget behov av att ange datatypen för varje fält, eftersom detta redan har specificerats i strukturens ritning.

Med strukturen Student som exempel — den innehåller alla fält vi behöver för en student: id, name och age. Nu lagras all data på ett ställe, och vi har en separat struktur som enkelt kan återanvändas.

question mark

Välj alternativet med korrekt strukturdeklaration:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3
some-alt