Typedef struktūra C++

Typedef Struktura C



C++ programavimo kalba siūlo „typedef“ raktinį žodį, leidžiantį kūrėjams sukurti esamų duomenų tipų slapyvardžius, kurie gali būti pagrindiniai primityvūs tipai, tokie kaip „int“, „long“ arba vartotojo apibrėžti struktūros duomenų tipai. Raktinis žodis „typedef“ nesukuria naujo tipo. Vietoj to, jis sukuria esamo tipo slapyvardį (arba slapyvardį). Naudojant „typedef“, kodas gali būti lengviau skaitomas ir sutaupoma energijos bei laiko, reikalingo pakartotiniam ilgų tipų pavadinimų įvedimui. Tačiau jei jis programoje naudojamas per daug, kodas gali būti painus, ypač dideliuose projektuose. Šiame straipsnyje mes išnagrinėsime, kaip apibrėžti struktūrą naudojant „typedef“, kaip ji padeda sumažinti kodo eilutę, kaip vartojama „typedef“ ir daug daugiau, pasitelkę iliustruojančius pavyzdžius.

Typedef struktūros supratimas C++

C++ kalboje „typedef“ yra raktinis žodis, suteikiantis naujus esamų integruotų duomenų tipų, rodyklių, struktūrų ir vartotojo apibrėžtų duomenų tipų pavadinimus, kurie veikia kaip slapyvardis visoje programoje. Paprasčiau tariant, jame pateikiami aprašomieji įtaisytųjų arba vartotojo apibrėžtų duomenų tipų pavadinimai, kurie gali būti savaime suprantami. Tai taip pat padeda sumažinti kodo eilutes ir supaprastinti sudėtingus duomenų tipus. Tačiau, kaip minėta anksčiau, nerekomenduojama per daug naudoti „typedef“, nes tai gali sukelti painiavą.

Struktūra yra dar vienas raktinis žodis, naudojamas struktūrai apibrėžti ir inicijuoti. C++ struktūra yra sudėtinė duomenų tipo deklaracija, leidžianti kūrėjams vienoje vietoje grupuoti įvairius duomenų tipus ar kintamuosius.







C++ kalboje „struct“ ir „typedef struct“ yra vienodi. Nėra praktinio skirtumo tarp „typedef struct“ ir „struct“, nes jie veikia vienodai. Kai klasė, enum, sąjunga ar struktūra yra deklaruojama arba apibrėžiama C++, nebūtina jų netiesiogiai apibrėžti kaip „typedef“, nes pagal numatytuosius nustatymus jie yra „typedef“.



Typedef struktūros sintaksė C++

„typedef“ struktūros sintaksė yra tokia pati kaip struktūros be „typedef“. Tam tereikia aiškaus „typedef“ apibrėžimo su „struct“ raktiniu žodžiu. Visą sintaksę žr.



typedef struktūra {
< duomenų tipas > < kintamasis1 > ;
< duomenų tipas > < kintamasis2 > ;
< duomenų tipas > < kintamasis3 > ;
} < struktūros_pavadinimas > ;

Struktūra dabar apibrėžiama tiesiog naudojant . Galime apibrėžti kelis šio tipo struktūros kintamuosius. Žiūrėkite toliau pateiktą apibrėžimą:





< struktūros_pavadinimas > kintamasis4, kintamasis5, kintamasis6 ;

Dabar panagrinėkime keletą pavyzdžių, kad galėtume aiškiau ir geriau suprasti C++ „typedef“ struktūrą.

1 pavyzdys:

Pirmajame „typedef“ struktūros pavyzdyje C++ imame paprastą programą, kad paaiškintume, kaip ją galima apibrėžti ir naudoti C++ projektuose. Peržiūrėkite šį kodą ir pereikime prie paaiškinimo:



#include
naudojant vardų erdvė std ;
struktūra dešimtainis {
tarpt Gruodžio 1 d ;
tarpt gruodžio 2 d ; } ;
tarpt pagrindinis ( ) {
struktūra dešimtainis d ;
d. Gruodžio 1 d = 10 ;
d. gruodžio 2 d = 23 ;
cout << d. Gruodžio 1 d << endl ;
cout << d. gruodžio 2 d << endl ;
grąžinti 0 ; }

Šiame C++ kode apibrėžiame dešimtainę struktūrą ir parodome jos naudojimą pagrindinėje funkcijoje. Pažvelkime į kiekvieną kodo eilutę.

Programa pradedama įtraukiant reikiamą antraštės failą, pvz., „#include “, ir naudojant „std“ vardų sritį įvesties / išvesties operacijoms ir įtraukiant „std“ vardų sritį į taikymo sritį. Po to apibrėžiama struktūra, pavadinta „dešimtainė“. Struktūrą sudaro du nariai: „dec1“ ir „dec2“, abu tipai „int“.

Pagrindinėje funkcijoje sukuriamas dešimtainės struktūros pavyzdys. Tai daroma naudojant „d;“ deklaracija po kablelio. Struktūrą sudaro du nariai, todėl abu pasiekiame naudodami „d“ egzempliorių. Tada „dec1“ ir „dec2“ reikšmės atitinkamai priskiriamos 10 ir 23, naudojant „d.dec1“ ir „d.dec2“ apibrėžimus. Galiausiai „dec1“ ir „dec2“ reikšmės atspausdinamos konsolėje naudojant „cout“. Programa suteikia šiuos išėjimus:

Pateikta išvesties momentinė nuotrauka parodo, kaip paprasta „typedef“ struktūra, pavadinta „dešimtainis“, naudojama dviejų dešimtainių skaičių saugojimui ir manipuliavimui pagrindinėje funkcijoje. „typedef“ struktūra leidžia geriau organizuoti ir valdyti susijusius duomenis C++ programoje.

2 pavyzdys:

Pavyzdyje, kurį paaiškinome anksčiau, struktūroje pateikiami tik vieno tipo duomenys. Dabar apibrėžkime kelių tipų duomenis struktūroje ir pažiūrėkime, kaip „typedef“ gali padėti sumažinti kodų eilutę ir supaprastinti kodo sudėtingumą. Kodas pateikiamas toliau, kad galėtumėte sužinoti:

#include
naudojant vardų erdvė std ;
typedef struktūra žodynas {
tarpt id ;
eilutės pavadinimas ;
ilgai rollnum ;
char klasės pavadinimas ;
} diktatas ;
tarpt pagrindinis ( )
{
diktuoti duomenis ;
duomenis. id = dvidešimt ;
duomenis. vardas = 'Kalsoom' ;
duomenis. rollnum = 123456789 ;
duomenis. klasės pavadinimas = 'D' ;
cout << 'Kandidato ID yra =' << duomenis. id << endl ;
cout << 'Kandidato vardas = ' << duomenis. vardas << endl ;
cout << 'Kandidato sąrašas yra = ' << duomenis. rollnum << endl ;
cout << 'Kandidato klasės pavadinimas yra = ' << duomenis. klasės pavadinimas << endl ;
grąžinti 0 ;
}

Kaip ir ankstesniame pavyzdyje, ši programa taip pat paleido reikalingą antraštės failą, pvz., „#include “, ir naudojo „std“ vardų sritį pagrindinėms įvesties / išvesties operacijoms atlikti. Po to žodyno struktūra apibrėžiama iš keturių narių: id, pavadinimas, rollnum ir klasės pavadinimas. Raktinis žodis „typedef“ sukuria šios struktūros slapyvardį „diktas“. Šis slapyvardis leidžia struktūrą vadinti tiesiog „diktu“, o ne „struct“ žodynu.

Dabar pagrindinėje funkcijoje pirmiausia apibrėžiame struktūros žodyno egzempliorių, pavadintą „diktas“, kaip duomenis, kurie veikia kaip „dikto“ slapyvardis. Vertės priskiriamos kiekvienam struktūros nariui naudojant šiuos teiginius:

duomenis. id = dvidešimt ;
duomenis. vardas = 'Kalsoom' ;
duomenis. rollnum = 123456789 ;
duomenis. klasės pavadinimas = 'D' ;

Kaip matote, šios reikšmės yra skirtingų tipų – int, string, long ir char. Naudodami teiginį „cout“, visas apibrėžtas reikšmes atspausdiname konsolėje. Pažiūrėkime programos išvestį šioje momentinėje nuotraukoje:

Išvesties ekrano kopijoje aiškiai parodytas „typedef“ naudojimas su struktūra, kurioje yra keli duomenų tipai, siekiant sukurti struktūros slapyvardį. Tai suteikia glaustesnį, skaitomesnį ir paprastesnį būdą dirbti su struktūromis visoje C++ programoje.

Išvada

Apibendrinant C++ „typedef“ struktūrą, „typedef“ yra raktinis žodis, naudojamas C++ kalboje primityvių, įtaisytųjų arba vartotojo apibrėžtų duomenų tipų slapyvardžiams kurti. Suporuotas su „struct“ raktiniu žodžiu „typedef“ yra galingas įrankis, skirtas pagerinti kodo glaustumą ir aiškumą. „typedef“ apibrėžimas paprastai padeda sumažinti kodo eilutes ir atminties sritis. Tačiau per daug naudoti „typedef“ nerekomenduojama jokioje programoje, nei trumpuose, nei ilguose ir sudėtinguose projektuose, nes tai gali sukelti dviprasmybių. Šiame straipsnyje mes ištyrėme „typedef“ struktūrą, naudodami paprastus pavyzdžius, kad suprastume „typedef“ veikimą, įgyvendinimą ir naudojimą C++ programose.