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

Structien 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, vaan toimii ainoastaan mallina, pohjana.

Ensimmäinen tapa

Kun rakenne on määritelty, voimme luoda kyseisen tyyppisen muuttujan 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än vaihtoehdon avulla rakenne voidaan luoda heti 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 määritellään järjestyksessä, eikä jokaisen kentän tietotyyppiä tarvitse ilmoittaa, koska se on jo määritelty rakenteen kaavassa.

struct+rakenne

Käytetään esimerkkinä Student-rakennetta — se sisältää kaikki tarvittavat kentät opiskelijalle: 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

Structien 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, vaan toimii ainoastaan mallina, pohjana.

Ensimmäinen tapa

Kun rakenne on määritelty, voimme luoda kyseisen tyyppisen muuttujan 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än vaihtoehdon avulla rakenne voidaan luoda heti 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 määritellään järjestyksessä, eikä jokaisen kentän tietotyyppiä tarvitse ilmoittaa, koska se on jo määritelty rakenteen kaavassa.

struct+rakenne

Käytetään esimerkkinä Student-rakennetta — se sisältää kaikki tarvittavat kentät opiskelijalle: 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