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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C-Rakenteiden Hallinta

bookRakenteiden Määrittely ja Julistaminen

Määrittely

Rakenne-esittely alkaa avainsanalla 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> - 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

copy
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

copy
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

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

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

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

Alustaminen

Rakenteen alustaminen == uuden tietotyypin muuttujan alustaminen

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

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

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:

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

bookRakenteiden Määrittely ja Julistaminen

Pyyhkäise näyttääksesi valikon

Määrittely

Rakenne-esittely alkaa avainsanalla 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> - 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

copy
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

copy
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

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

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

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

Alustaminen

Rakenteen alustaminen == uuden tietotyypin muuttujan alustaminen

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

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

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:

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3
some-alt