Rakenteet C: ssä

Structures C



C: ssä rakenne on käyttäjän määrittämä muuttuja, jota käytetään muuttujien kokoelman tallentamiseen yhden kokonaisuuden alle. Käytämme yksinkertaista analogiaa selittääksemme rakenteiden toteutuksen ja hyödyllisyyden C.

Oletetaan, että haluamme tallentaa tiettyä palvelua käyttävien käyttäjien tietoja. Tällaisia ​​tietoja voivat olla käyttäjätunnus, sähköpostiosoite, osoite, huoltotila ja vastaavat. Tällaisten tietojen tallentamiseksi voimme luoda jokaisen määritteen itsenäisenä muuttujana. Kuitenkin, kun meillä on yli kymmenen käyttäjää, koodi voi kääntyä käsistä ja tulla erittäin vaikeaksi ja väsyttäväksi lukea.







Tämän ratkaisemiseksi voimme luoda rakenteen. Rakenteen sisällä voimme tallentaa kaikki kaikkien käyttäjien jakamat määritteet ja lisätä sitten yksilöllisiä muuttujia kullekin käyttäjälle.



Katsotaanpa erilaisia ​​esimerkkejä nähdäksemme, miten tämä toteutetaan.



Kuinka määritellä rakenne C: ssä

Rakenteen määrittelemiseksi C: ssä käytämme struktuuri -avainsanaa ja sen jälkeen rakenteen nimeä. Nimen jälkeen meillä on pari kiharaa, joissa lisäämme jäsenet.





Harkitse alla olevaa syntaksia:

rakennerakenne_nimi
{
/ * data */
kirjoita jäsenen_nimi;
kirjoita jäsen_nimi2;
kirjoita jäsen_nimi3;

...
tyyppijäsen_nimiN;
};

Rakenteen nimi voi olla mitä haluat, kunhan se noudattaa C -ohjelmointikielen nimeämiskäytäntöä.



Voimme toteuttaa esimerkkirakenteen käyttäjäanalogiasta seuraavasti:

rakennekäyttäjille
{
hiiltyäkäyttäjätunnus[kaksikymmentä];
hiiltyäsähköposti[225];
hiiltyäosoite[viisikymmentä];
intikä;
bool rekisteröity;
};

Rakennemuuttujien luominen

Rakennemuuttujia voidaan luoda kahdella tavalla. Ensimmäinen on julistaa ne normaalien muuttujien kaltaisiksi, ja toinen on asettaa ne käyttämällä kiharaita aaltosulkeita.

Alla oleva esimerkki osoittaa, kuinka rakennemuuttujat ilmoitetaan standardin C muuttujiksi.

rakennekäyttäjille
{
hiiltyäkäyttäjätunnus[kaksikymmentä];
hiiltyäsähköposti[225];
hiiltyäosoite[viisikymmentä];
intikä;
bool rekisteröity;
};

inttärkein(intargc, hiiltyä const *argv[])
{
rakennekäyttäjät käyttäjä 1,käyttäjä2,käyttäjä 3
palata 0;
}

Toinen rakennemuuttujien luomistapa on alla oleva:

rakennekäyttäjille
{
hiiltyäkäyttäjätunnus[kaksikymmentä];
hiiltyäsähköposti[225];
hiiltyäosoite[viisikymmentä];
intikä;
bool rekisteröity;
}käyttäjä 1,käyttäjä2,käyttäjä 3;

Tässä esimerkissä luomme ne rakenneilmoituksen aikana.

Rakenne Jäsenaloite

Et voi alustaa rakenteen jäseniä luomisen aikana, koska tyypille ei ole varattu muistia.

Voit alustaa rakenteen jäsenet käyttämällä alla olevia kiharareunuksia:

rakennekäyttäjille
{
hiiltyäkäyttäjätunnus[kaksikymmentä];
hiiltyäsähköposti[225];
hiiltyäosoite[viisikymmentä];
intikä;
bool rekisteröity;
};
inttärkein(intargc, hiiltyä const *argv[])
{
rakennekäyttäjät käyttäjä 1= {'myusername', '[email protected]', 35, totta}
palata 0;
}

Pääsyrakenteen jäsenet

Päästäksemme rakenteen jäseniin käytämme pisteoperaattoria alkaen rakenteen nimestä, pisteestä ja jäsenen nimestä.

rakennekäyttäjille
{
hiiltyäkäyttäjätunnus[kaksikymmentä];
hiiltyäsähköposti[225];
hiiltyäosoite[viisikymmentä];
intikä;
bool rekisteröity;
};
inttärkein(intargc, hiiltyä const *argv[])
{
rakennekäyttäjät käyttäjä 1= {'myusername', '[email protected]', 35, totta}
käyttäjä 1.sähköposti = '[email protected]'
palata 0;
}

Tässä esimerkissä pääsemme käyttäjän1 jäseniin.

Typedef -avainsana

Käytämme typedef -avainsanaa luodaksemme tietotyypeille aliaksen, jolloin koodi on luettavampi.

Esimerkiksi:

typedef rakennekäyttäjille
{
hiiltyäkäyttäjätunnus[kaksikymmentä];
hiiltyäsähköposti[225];
hiiltyäosoite[viisikymmentä];
intikä;
bool rekisteröity;
}u;
inttärkein(intargc, hiiltyä const *argv[])
{
u käyttäjä 1= {'myusername', '[email protected]', 35, totta}
käyttäjä 1.rekisteröity = väärä
palata 0;
}

Yllä olevassa esimerkissä loimme aliaksen u käyttäjien rakenteelle. Siksi meidän ei tarvitse soittaa struktur -käyttäjille joka kerta. Voimme käyttää sinua edellä määritellyn mukaisesti.

Rakenneosoittimet

Voit myös käyttää osoitinta rakenteeseen. Tämän avulla voit käyttää jäseniä -> -operaattorin avulla.

Esimerkiksi:

typedef rakennekäyttäjille
{
hiiltyäkäyttäjätunnus[kaksikymmentä];
hiiltyäsähköposti[225];
hiiltyäosoite[viisikymmentä];
intikä;
bool rekisteröity;
}u;
inttärkein(intargc, hiiltyä const *argv[])
{
u käyttäjä 1= {'myusername', '[email protected]', 35, totta}

// osoitin toiseen rakenteeseen
u*user_ptr= &käyttäjä 1
user_ptr->käyttäjätunnus= 'ptrusername'
palata 0;
}

Johtopäätös

Tämä opas kattaa C -ohjelmointikielen rakenteiden käsittelyn perusteet.

Kiitos, että luit!