Mga istruktura sa C

Structures C



Sa C, ang isang istraktura ay isang variable na tinukoy ng gumagamit na ginagamit upang mag-imbak ng isang koleksyon ng mga variable sa ilalim ng iisang nilalang. Gumamit tayo ng isang simpleng pagkakatulad upang ipaliwanag ang pagpapatupad ng mga istraktura at pagiging kapaki-pakinabang sa C.

Ipagpalagay na nais naming mag-imbak ng impormasyon tungkol sa mga gumagamit na gumagamit ng isang tukoy na serbisyo. Ang nasabing impormasyon ay maaaring isama ang username, email, address, service mode, at iba pa. Upang maiimbak ang naturang impormasyon, maaari tayong gumawa tungkol sa paglikha ng bawat katangian bilang isang standalone variable. Gayunpaman, kapag mayroon kaming sampung plus na mga gumagamit, ang code ay maaaring maiikot sa labas ng kontrol at maging napakahirap at nakakapagod na basahin.







Upang malutas ito, makakalikha tayo ng isang istraktura. Sa loob ng istraktura, maaari naming iimbak ang lahat ng mga katangian na ibinahagi ng lahat ng mga gumagamit at pagkatapos ay magdagdag ng mga natatanging variable para sa bawat gumagamit.



Tingnan natin ang iba't ibang mga halimbawa upang makita kung paano ito ipatupad.



Paano Tukuyin ang Isang Istraktura sa C

Upang tukuyin ang isang istraktura sa C, ginagamit namin ang struct keyword na sinusundan ng pangalan ng istraktura. Pagkatapos ng pangalan, mayroon kaming isang pares ng mga kulot na brace kung saan idinagdag namin ang mga miyembro.





Isaalang-alang ang syntax sa ibaba:

istrukturastruct_name
{
/ * data * /
i-type ang member_name;
i-type ang member_name2;
i-type ang member_name3;

...
urimember_nameN;
};

Ang pangalan ng istraktura ay maaaring maging anumang nais mo hangga't sumunod ito sa pagbibigay ng pangalan ng kombensyon ng wikang C programa.



Maaari naming ipatupad ang isang halimbawa ng istraktura ng pagkakatulad ng gumagamit bilang:

istrukturamga gumagamit
{
charusername[dalawampu];
charemail[225];
charaddress[limampu];
intedad;
rehistro ng bool;
};

Paano Lumikha ng Mga Variable ng Istraktura

Mayroong dalawang pangunahing paraan upang lumikha ng mga variable ng istraktura. Ang una ay ideklara ang mga ito tulad ng mga normal na variable, at ang isa pa ay itakda ang mga ito gamit ang mga kulot na brace.

Ipinapakita ng halimbawa sa ibaba kung paano ideklara ang mga variable ng istraktura bilang karaniwang mga variable ng C.

istrukturamga gumagamit
{
charusername[dalawampu];
charemail[225];
charaddress[limampu];
intedad;
rehistro ng bool;
};

intpangunahing(intargc, char Const *argv[])
{
istrukturagumagamit ng gumagamit1,gumagamit2,gumagamit3
bumalik ka 0;
}

Ang iba pang paraan ng paglikha ng mga variable ng istraktura ay tulad ng ipinakita sa ibaba:

istrukturamga gumagamit
{
charusername[dalawampu];
charemail[225];
charaddress[limampu];
intedad;
rehistro ng bool;
}gumagamit1,gumagamit2,gumagamit3;

Sa halimbawang ito, nilikha namin ang mga ito sa panahon ng deklarasyon ng istraktura.

Istraktura ng Miyembro na Pauna

Hindi mo maaaring ipasimula ang mga miyembro ng istraktura habang nilikha dahil walang memorya na inilalaan para sa uri.

Upang simulan ang mga kasapi ng isang istraktura, gagamitin mo ang mga kulot na brace tulad ng ipinakita sa ibaba:

istrukturamga gumagamit
{
charusername[dalawampu];
charemail[225];
charaddress[limampu];
intedad;
rehistro ng bool;
};
intpangunahing(intargc, char Const *argv[])
{
istrukturagumagamit ng gumagamit1= {'myusername', '[Protektado ang email]', 35, totoo}
bumalik ka 0;
}

Mga Miyembro ng Structure ng Pag-access

Upang ma-access ang mga miyembro ng isang istraktura, ginagamit namin ang dot operator, nagsisimula sa pangalan ng istraktura, isang tuldok, at ang pangalan ng miyembro.

istrukturamga gumagamit
{
charusername[dalawampu];
charemail[225];
charaddress[limampu];
intedad;
rehistro ng bool;
};
intpangunahing(intargc, char Const *argv[])
{
istrukturagumagamit ng gumagamit1= {'myusername', '[Protektado ang email]', 35, totoo}
gumagamit1.email = '[Protektado ang email]'
bumalik ka 0;
}

Sa halimbawang ito, ina-access namin ang mga miyembro ng user1.

Keyword ng Typedef

Ginagamit namin ang typedef keyword upang lumikha ng isang alias para sa mga uri ng data, na ginagawang mas madaling mabasa ang code.

Halimbawa:

typedef istrukturamga gumagamit
{
charusername[dalawampu];
charemail[225];
charaddress[limampu];
intedad;
rehistro ng bool;
}ikaw;
intpangunahing(intargc, char Const *argv[])
{
ikaw ang gumagamit1= {'myusername', '[Protektado ang email]', 35, totoo}
gumagamit1.nakarehistro = hindi totoo
bumalik ka 0;
}

Sa halimbawa sa itaas, gumawa kami ng isang alias u para sa istraktura ng mga gumagamit. Samakatuwid, hindi namin kailangang tawagan ang mga gumagamit ng struct tuwing oras. Maaari naming gamitin ang iyong tinukoy sa itaas.

Mga Taguro ng istraktura

Maaari ka ring magkaroon ng isang pointer sa isang istraktura. Ang paggawa nito ay nagbibigay-daan sa iyo upang ma-access ang mga miyembro gamit ang -> operator.

Halimbawa:

typedef istrukturamga gumagamit
{
charusername[dalawampu];
charemail[225];
charaddress[limampu];
intedad;
rehistro ng bool;
}ikaw;
intpangunahing(intargc, char Const *argv[])
{
ikaw ang gumagamit1= {'myusername', '[Protektado ang email]', 35, totoo}

// pointer sa ibang istraktura
ikaw*user_ptr= &gumagamit1
user_ptr->username= 'ptrusername'
bumalik ka 0;
}

Konklusyon

Saklaw ng gabay na ito ang mga pangunahing kaalaman sa pagtatrabaho sa mga istraktura sa wika ng C programa.

Salamat sa pagbabasa!