Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Defining and Declaring Structs | Introduction to Structs
C Structs

bookDefining 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.

question mark

Select the option with the correct structure declaration:

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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

bookDefining and Declaring Structs

Pyyhkäise näyttääksesi valikon

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.

question mark

Select the option with the correct structure declaration:

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3
some-alt