Defining and Declaring Structs
Defining
A structure declaration begins with the keyword "struct".
struct <name_of_struct>
{
<type_1> <field_1>;
<type_2> <field_2>;
…
<type_N> <field_N>;
};
<type_1> <field_1> - variables that will make up the structure.
The structure declaration does not take up memory, that is, it is just a drawing, a template.
First way
Once we have declared a structure, we can create a variable of that type using the word struct.
struct <name_of_struct> <name_of_variable>;
Declaring multiple struct variables is the same as declaring regular variables:
struct <name_of_struct> <name_of_variable_1>, <name_of_variable_2>,<name_of_variable_3>;
Second way
This option allows the structure to be instantiated immediately after it is defined.
struct <name_of_struct>
{
<type_1> <field_1>;
<type_2> <field_2>;
…
<type_N> <field_N>;
} <name_of_variable>; // defining of variable
In this way it is convenient to create several variables at once:
struct <name_of_struct>
{
<type_1> <field_1>;
<type_2> <field_2>;
…
<type_N> <field_N>;
} <name_of_variable_1>, <name_of_variable_2>;
Initialization
Initializing a structure == initializing a variable of a new data type
To initialize a structure, you must use curly braces {...}:
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};
In this case, the fields will be assigned in order and there is no need to indicate the data type of each field, because this has already been done in the blueprint of the structure.
Using the Student structure as an example — it includes all the fields we need for a student: id, name, and age. Now all the data is stored in one place, and we have a separate structure that we can easily reuse.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you show an example of how to declare and initialize a Student structure?
What are the benefits of using structures in C?
How do I access or modify the fields of a structure variable?
Awesome!
Completion rate improved to 4.17
Defining and Declaring Structs
Scorri per mostrare il menu
Defining
A structure declaration begins with the keyword "struct".
struct <name_of_struct>
{
<type_1> <field_1>;
<type_2> <field_2>;
…
<type_N> <field_N>;
};
<type_1> <field_1> - variables that will make up the structure.
The structure declaration does not take up memory, that is, it is just a drawing, a template.
First way
Once we have declared a structure, we can create a variable of that type using the word struct.
struct <name_of_struct> <name_of_variable>;
Declaring multiple struct variables is the same as declaring regular variables:
struct <name_of_struct> <name_of_variable_1>, <name_of_variable_2>,<name_of_variable_3>;
Second way
This option allows the structure to be instantiated immediately after it is defined.
struct <name_of_struct>
{
<type_1> <field_1>;
<type_2> <field_2>;
…
<type_N> <field_N>;
} <name_of_variable>; // defining of variable
In this way it is convenient to create several variables at once:
struct <name_of_struct>
{
<type_1> <field_1>;
<type_2> <field_2>;
…
<type_N> <field_N>;
} <name_of_variable_1>, <name_of_variable_2>;
Initialization
Initializing a structure == initializing a variable of a new data type
To initialize a structure, you must use curly braces {...}:
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};
In this case, the fields will be assigned in order and there is no need to indicate the data type of each field, because this has already been done in the blueprint of the structure.
Using the Student structure as an example — it includes all the fields we need for a student: id, name, and age. Now all the data is stored in one place, and we have a separate structure that we can easily reuse.
Grazie per i tuoi commenti!