Typedef Struct sa C++

Typedef Struct Sa C



Ang C++ programming language ay nag-aalok ng 'typedef' na keyword na nagbibigay-daan sa mga developer na lumikha ng mga alias ng mga umiiral na uri ng data na maaaring mga pangunahing primitive na uri tulad ng 'int', 'long', o mga uri ng istruktura ng istruktura na tinukoy ng gumagamit. Ang keyword na 'typedef' ay hindi gumagawa ng bagong uri. Sa halip, lumilikha ito ng isang palayaw (o isang alias) ng isang umiiral na uri. Ang paggamit ng 'typedef' ay maaaring gawing mas nababasa ang code at makatipid ng enerhiya at oras na kailangan upang mag-type ng mahabang uri ng mga pangalan nang paulit-ulit. Gayunpaman, kung ito ay ginagamit nang labis sa programa, maaari nitong gawing nakakalito ang code, lalo na sa malalaking proyekto. Sa artikulong ito, tutuklasin natin kung paano tukuyin ang isang istraktura gamit ang 'typedef', kung paano ito nakakatulong na bawasan ang linya ng code, kung ano ang paggamit ng 'typedef', at marami pang iba sa tulong ng mga halimbawa ng paglalarawan.

Pag-unawa sa Typedef Struct sa C++

Sa C++, ang 'typedef' ay isang keyword na nagbibigay ng mga bagong pangalan ng umiiral nang mga built-in na uri ng data, mga pointer, istruktura, at mga uri ng data na tinukoy ng user na gumagana bilang isang alias sa buong programa. Sa madaling salita, nagbibigay ito ng mga mapaglarawang pangalan sa mga built-in o tinukoy ng user na mga uri ng data na maaaring maging maliwanag. Nakakatulong din itong bawasan ang mga linya ng code at gawing simple ang mga kumplikadong uri ng data. Gayunpaman, tulad ng nabanggit kanina, ang sobrang paggamit ng 'typedef' ay hindi inirerekomenda dahil maaari itong humantong sa pagkalito.

Ang struct ay isa pang keyword na ginagamit upang tukuyin at simulan ang isang istraktura. Ang istraktura sa C++ ay isang pinagsama-samang deklarasyon ng uri ng data na nagbibigay-daan sa mga developer na magpangkat ng iba't ibang uri ng data o variable sa isang lugar.







Sa C++, ang 'struct' at 'typedef struct' ay pareho. Walang praktikal na pagkakaiba sa pagitan ng 'typedef struct' at 'struct' habang pareho silang gumagana. Sa tuwing ang isang klase, enum, unyon, o struct ay idineklara o tinukoy sa C++, hindi kailangang implicit na tukuyin ang mga ito bilang 'typedef' dahil sila ay, bilang default, 'typedef'.



Syntax ng Typedef Struct sa C++

Ang syntax ng 'typedef' struct ay kapareho ng struct na walang 'typedef'. Kailangan lang nito ng tahasang kahulugan ng 'typedef' na may 'struct' na keyword. Tingnan ang kumpletong syntax sa sumusunod:



typedef struct {
< uri ng datos > < variable1 > ;
< uri ng datos > < variable2 > ;
< uri ng datos > < variable3 > ;
} < struct_name > ;

Ang istraktura ay tinukoy ngayon sa pamamagitan lamang ng paggamit ng . Maaari naming tukuyin ang maramihang mga variable ng ganitong uri ng istraktura. Tingnan ang sumusunod na kahulugan:





< struct_name > variable4, variable5, variable6 ;

Ngayon, galugarin natin ang ilang mga halimbawa para sa isang mas malinaw at mas mahusay na pag-unawa sa 'typedef' struct sa C++.

Halimbawa 1:

Sa unang halimbawa ng 'typedef' na struct sa C++, kumukuha kami ng isang simpleng programa para ipaliwanag kung paano ito matutukoy at magagamit sa mga proyekto ng C++. Tingnan ang sumusunod na code at pagkatapos ay magpatuloy tayo sa paliwanag:



#include
gamit namespace std ;
struct decimal {
int Disyembre 1 ;
int dec2 ; } ;
int pangunahing ( ) {
struct desimal d ;
d. Disyembre 1 = 10 ;
d. dec2 = 23 ;
cout << d. Disyembre 1 << endl ;
cout << d. dec2 << endl ;
bumalik 0 ; }

Sa C++ code na ito, tinutukoy namin ang isang decimal na istraktura at ipinapakita ang paggamit nito sa loob ng pangunahing function. Tingnan natin ang bawat linya ng code.

Nagsisimula ang programa sa pagsasama ng kinakailangang header file tulad ng “#include ” at paggamit ng “std” namespace para sa mga pagpapatakbo ng input/output at dalhin ang “std” namespace sa saklaw. Pagkatapos nito, tinukoy ang isang istraktura na pinangalanang 'decimal'. Ang istraktura ay may dalawang miyembro: 'dec1' at 'dec2', parehong uri ng 'int'.

Sa pangunahing function, isang instance ng decimal na istraktura ay nilikha. Ginagawa ito gamit ang 'd;' desimal ng deklarasyon. Ang istraktura ay may dalawang miyembro, kaya pareho naming ina-access ang instance na 'd'. Ang mga value ng 'dec1' at 'dec2' ay itinalaga sa 10 at 23, ayon sa pagkakabanggit, gamit ang 'd.dec1' at 'd.dec2' na kahulugan. Sa wakas, ang mga halaga ng 'dec1' at 'dec2' ay naka-print sa console gamit ang 'cout'. Ang programa ay nagbibigay ng mga sumusunod na output:

Ang ibinigay na output snapshot ay nagpapakita kung paano ang isang simpleng 'typedef' na istraktura na pinangalanang 'decimal' ay ginagamit upang mag-imbak at manipulahin ang dalawang decimal na numero sa loob ng pangunahing function. Ang 'typedef' struct ay nagbibigay-daan para sa mas mahusay na organisasyon at pamamahala ng mga kaugnay na data sa isang C++ program.

Halimbawa 2:

Sa halimbawa na ipinaliwanag namin dati, isang uri lamang ng data ang ibinigay sa istraktura. Ngayon, tukuyin natin ang maraming uri ng data sa isang istraktura at tingnan kung paano makakatulong ang 'typedef' sa pagbabawas ng linya ng mga code at pagpapasimple sa mga komplikasyon ng code. Ang code ay ibinigay sa sumusunod para sa iyong sanggunian:

#include
gamit namespace std ;
typedef struct diksyunaryo {
int id ;
pangalan ng string ;
mahaba rollnum ;
char pangalan ng klase ;
} dict ;
int pangunahing ( )
{
dict data ;
datos. id = dalawampu ;
datos. pangalan = 'Kalsoom' ;
datos. rollnum = 123456789 ;
datos. pangalan ng klase = 'D' ;
cout << 'Ang id ng kandidato ay =' << datos. id << endl ;
cout << 'Ang pangalan ng kandidato ay =' << datos. pangalan << endl ;
cout << 'Ang rollnum ng kandidato ay =' << datos. rollnum << endl ;
cout << 'Ang pangalan ng klase ng kandidato ay = ' << datos. pangalan ng klase << endl ;
bumalik 0 ;
}

Tulad ng nakaraang halimbawa, sinimulan din ng program na ito ang kinakailangang header file tulad ng “#include ” at gamit ang “std” namespace upang maisagawa ang mga pangunahing pagpapatakbo ng input/output. Pagkatapos nito, ang isang istraktura ng diksyunaryo ay tinukoy na may apat na miyembro: id, pangalan, rollnum, at classname. Ang 'typedef' na keyword ay lumilikha ng 'dict' alias para sa istrukturang ito. Ang alyas na ito ay nagbibigay-daan sa istraktura na tukuyin lamang bilang 'dict' sa halip na ang struct dictionary.

Ngayon, sa pangunahing function, una naming tinukoy ang isang instance ng structure dictionary na pinangalanang 'dict' bilang isang data na gumaganap bilang isang alias ng 'dict'. Ang mga halaga ay itinalaga sa bawat miyembro ng istraktura gamit ang mga sumusunod na pahayag:

datos. id = dalawampu ;
datos. pangalan = 'Kalsoom' ;
datos. rollnum = 123456789 ;
datos. pangalan ng klase = 'D' ;

Gaya ng mapapansin mo, ang mga value na ito ay may iba't ibang uri – int, string, long, at char. Gamit ang pahayag na 'cout', ipi-print namin ang lahat ng tinukoy na halaga sa console. Tingnan natin ang output ng programa sa sumusunod na snapshot:

Ang output screenshot ay malinaw na nagpapakita ng paggamit ng isang 'typedef' na may struct na naglalaman ng maraming uri ng data upang lumikha ng isang alias para sa isang istraktura. Nagbibigay ito ng mas maigsi, nababasa, at mas simpleng paraan upang gumana sa mga istruktura sa kumpletong C++ program.

Konklusyon

Upang ibuod ang 'typedef' struct sa C++, ang 'typedef' ay isang keyword na ginagamit sa C++ upang lumikha ng mga alias ng primitive, built-in, o user-defined na mga uri ng data. Ipares sa 'struct' na keyword, ang 'typedef' ay isang makapangyarihang tool para mapahusay ang code conciseness at clarity. Ang kahulugan ng 'typedef' ay karaniwang nakakatulong na bawasan ang mga linya ng code at mga lugar ng memorya. Gayunpaman, ang sobrang paggamit ng 'typedef' ay hindi inirerekomenda sa anumang programa, hindi maikli o mahaba, at kumplikadong mga proyekto dahil maaari itong lumikha ng kalabuan. Sa artikulong ito, ginalugad namin ang tungkol sa 'typedef' struct sa tulong ng mga direktang halimbawa upang maunawaan ang pagtatrabaho, pagpapatupad, at paggamit ng 'typedef' sa mga programang C++.