C struktūras

Structures C



C struktūrā struktūra ir lietotāja definēts mainīgais, ko izmanto, lai vienā entītijā saglabātu mainīgo kolekciju. Izmantosim vienkāršu analoģiju, lai izskaidrotu struktūru ieviešanu un lietderību C.

Pieņemsim, ka mēs vēlamies saglabāt informāciju par lietotājiem, kuri izmanto noteiktu pakalpojumu. Šāda informācija var ietvert lietotājvārdu, e -pastu, adresi, pakalpojuma režīmu un citus. Lai saglabātu šādu informāciju, mēs varam izveidot katru atribūtu kā atsevišķu mainīgo. Tomēr, ja mums ir vairāk nekā desmit lietotāju, kods var kļūt nekontrolējams un kļūt ļoti grūti un nogurdinoši lasāms.







Lai to atrisinātu, mēs varam izveidot struktūru. Struktūrā mēs varam saglabāt visus visu lietotāju kopīgotos atribūtus un pēc tam katram lietotājam pievienot unikālus mainīgos.



Apskatīsim dažādus piemērus, lai redzētu, kā to īstenot.



Kā definēt struktūru C

Lai definētu struktūru C, mēs izmantojam struktura atslēgvārdu, kam seko struktūras nosaukums. Pēc nosaukuma mums ir cirtainu lenču pāris, kur mēs pievienojam dalībniekus.





Apsveriet zemāk esošo sintaksi:

struktūrastruktura_nosaukums
{
/ * dati */
ierakstiet dalībnieka_vārds;
ierakstiet member_name2;
ierakstiet member_name3;

...
tipamember_nameN;
};

Struktūras nosaukums var būt jebkurš, ko vēlaties, ja vien tas atbilst C programmēšanas valodas nosaukumu konvencijai.



Mēs varam ieviest lietotāja analoģijas struktūras piemēru šādi:

struktūralietotājiem
{
charlietotājvārds[divdesmit];
chare -pastu[225];
charadrese[piecdesmit];
intvecums;
bool reģistrēts;
};

Kā izveidot struktūras mainīgos

Ir divi galvenie veidi, kā izveidot struktūras mainīgos. Pirmais ir deklarēt tos kā parastos mainīgos, bet otrs - iestatīt tos, izmantojot cirtainās breketes.

Tālāk sniegtais piemērs parāda, kā strukturālos mainīgos deklarēt kā standarta C mainīgos.

struktūralietotājiem
{
charlietotājvārds[divdesmit];
chare -pastu[225];
charadrese[piecdesmit];
intvecums;
bool reģistrēts;
};

intgalvenais(intargc, char konst *argv[])
{
struktūralietotāju lietotājs1,lietotājs2,lietotājs3
atgriezties 0;
}

Cita struktūras mainīgo izveides metode ir parādīta zemāk:

struktūralietotājiem
{
charlietotājvārds[divdesmit];
chare -pastu[225];
charadrese[piecdesmit];
intvecums;
bool reģistrēts;
}lietotājs1,lietotājs2,lietotājs3;

Šajā piemērā mēs tos izveidojam struktūras deklarēšanas laikā.

Struktūra Dalībnieks Init

Izveidošanas laikā nevar inicializēt struktūras dalībniekus, jo tipam nav piešķirta atmiņa.

Lai inicializētu struktūras elementus, izmantojiet cirtainās skavas, kā parādīts zemāk:

struktūralietotājiem
{
charlietotājvārds[divdesmit];
chare -pastu[225];
charadrese[piecdesmit];
intvecums;
bool reģistrēts;
};
intgalvenais(intargc, char konst *argv[])
{
struktūralietotāju lietotājs1= {'myusername', '[aizsargāts ar e -pastu]', 35, taisnība}
atgriezties 0;
}

Piekļuves struktūras dalībnieki

Lai piekļūtu struktūras dalībniekiem, mēs izmantojam punktu operatoru, sākot ar struktūras nosaukumu, punktu un dalībnieka vārdu.

struktūralietotājiem
{
charlietotājvārds[divdesmit];
chare -pastu[225];
charadrese[piecdesmit];
intvecums;
bool reģistrēts;
};
intgalvenais(intargc, char konst *argv[])
{
struktūralietotāju lietotājs1= {'myusername', '[aizsargāts ar e -pastu]', 35, taisnība}
lietotājs1.e -pastu = '[aizsargāts ar e -pastu]'
atgriezties 0;
}

Šajā piemērā mēs piekļūstam lietotāja1 dalībniekiem.

Tipisks atslēgvārds

Mēs izmantojam atslēgvārdu typedef, lai izveidotu datu veidu aizstājvārdu, padarot kodu vieglāk lasāmu.

Piemēram:

typedef struktūralietotājiem
{
charlietotājvārds[divdesmit];
chare -pastu[225];
charadrese[piecdesmit];
intvecums;
bool reģistrēts;
}u;
intgalvenais(intargc, char konst *argv[])
{
u lietotājs 1= {'myusername', '[aizsargāts ar e -pastu]', 35, taisnība}
lietotājs1.reģistrēts = nepatiesa
atgriezties 0;
}

Iepriekš minētajā piemērā mēs izveidojām aizstājvārdu u lietotāju struktūrai. Tāpēc mums nav katru reizi jāzvana struktura lietotājiem. Mēs varam izmantot jūs, kā definēts iepriekš.

Struktūras norādes

Var būt arī rādītājs uz struktūru. To darot, jūs varat piekļūt dalībniekiem, izmantojot operatoru ->.

Piemēram:

typedef struktūralietotājiem
{
charlietotājvārds[divdesmit];
chare -pastu[225];
charadrese[piecdesmit];
intvecums;
bool reģistrēts;
}u;
intgalvenais(intargc, char konst *argv[])
{
u lietotājs 1= {'myusername', '[aizsargāts ar e -pastu]', 35, taisnība}

// rādītājs uz citu struktūru
u*user_ptr= &lietotājs1
user_ptr->lietotājvārds= 'ptrusername'
atgriezties 0;
}

Secinājums

Šī rokasgrāmata aptver pamatus darbā ar struktūrām C programmēšanas valodā.

Paldies par lasīšanu!