Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Rakenteiden Määrittely ja Julistaminen | Johdanto Structeihin
C-Rakenteiden Hallinta

Rakenteiden Määrittely ja Julistaminen

Pyyhkäise näyttääksesi valikon

Määrittely

Rakenne-esittely alkaa avainsanalla struct.

main.c

main.c

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

<type_1> <field_1> - muuttujat, jotka muodostavat rakenteen. Rakenne-esittely ei vie muistia, eli se on vain luonnos, malli.

Ensimmäinen menetelmä

Kun rakenne on määritelty, voidaan luoda kyseisen tyyppinen muuttuja käyttämällä sanaa struct.

main.c

main.c

1
struct <name_of_struct> <name_of_variable>;

Usean struct-muuttujan määrittely tapahtuu samalla tavalla kuin tavallisten muuttujien määrittely:

main.c

main.c

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

Toinen menetelmä

Tämä vaihtoehto mahdollistaa rakenteen luomisen välittömästi sen määrittelyn jälkeen.

main.c

main.c

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

Tällä tavalla on kätevää luoda useita muuttujia kerralla:

main.c

main.c

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>;

Alustaminen

Rakenteen alustaminen == uuden tietotyypin muuttujan alustaminen

Rakenteen alustamiseen käytetään aaltosulkeita {...}:

main.c

main.c

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};

Tässä tapauksessa kentät asetetaan järjestyksessä, eikä kunkin kentän tietotyyppiä tarvitse ilmoittaa, koska se on jo määritelty rakenteen mallissa.

Käytetään esimerkkinä Student-rakennetta — se sisältää kaikki opiskelijalle tarvittavat kentät: id, name ja age. Nyt kaikki tiedot ovat yhdessä paikassa, ja meillä on erillinen rakenne, jota voimme helposti käyttää uudelleen.

question mark

Valitse vaihtoehto, jossa rakenne on määritelty oikein:

Valitse oikea vastaus

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

Rakenteiden Määrittely ja Julistaminen

Määrittely

Rakenne-esittely alkaa avainsanalla struct.

main.c

main.c

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

<type_1> <field_1> - muuttujat, jotka muodostavat rakenteen. Rakenne-esittely ei vie muistia, eli se on vain luonnos, malli.

Ensimmäinen menetelmä

Kun rakenne on määritelty, voidaan luoda kyseisen tyyppinen muuttuja käyttämällä sanaa struct.

main.c

main.c

1
struct <name_of_struct> <name_of_variable>;

Usean struct-muuttujan määrittely tapahtuu samalla tavalla kuin tavallisten muuttujien määrittely:

main.c

main.c

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

Toinen menetelmä

Tämä vaihtoehto mahdollistaa rakenteen luomisen välittömästi sen määrittelyn jälkeen.

main.c

main.c

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

Tällä tavalla on kätevää luoda useita muuttujia kerralla:

main.c

main.c

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>;

Alustaminen

Rakenteen alustaminen == uuden tietotyypin muuttujan alustaminen

Rakenteen alustamiseen käytetään aaltosulkeita {...}:

main.c

main.c

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};

Tässä tapauksessa kentät asetetaan järjestyksessä, eikä kunkin kentän tietotyyppiä tarvitse ilmoittaa, koska se on jo määritelty rakenteen mallissa.

Käytetään esimerkkinä Student-rakennetta — se sisältää kaikki opiskelijalle tarvittavat kentät: id, name ja age. Nyt kaikki tiedot ovat yhdessä paikassa, ja meillä on erillinen rakenne, jota voimme helposti käyttää uudelleen.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3
some-alt