C ++ Struct ar piemēru

Satura rādītājs:

Anonim

Kas ir C ++ struktūra?

Struktūrai ir C ++ datu struktūra, kas var tikt izmantoti, lai uzglabātu kopā elementus dažādiem datu tipiem. Struktūrā C ++ struktūra ir lietotāja definēts datu tips. Struktūra izveido datu tipu dažādu datu veidu vienumu grupēšanai vienā datu tipā.

Piemēram:

Pieņemsim, ka jums ir jāuzglabā informācija par kādu, viņa vārdu, pilsonību un vecumu. Varat izveidot tādus mainīgos kā vārds, pilsonība un vecums, lai datus glabātu atsevišķi.

Tomēr nākotnē jums, iespējams, būs jāuzglabā informācija par daudzām personām. Tas nozīmē, ka tiks izveidoti mainīgie dažādiem indivīdiem. Piemēram, vārds1, pilsonība1, vecums1 utt. Lai no tā izvairītos, labāk ir izveidot struktūru.

Šajā C ++ apmācībā jūs uzzināsiet:

  • Kas ir C ++ struktūra?
  • Kad izmantot struktūru?
  • C ++ struktūras inicializēšana
  • Struktūras gadījumu izveide
  • Piekļuve strukturālajiem locekļiem
  • Norādes uz struktūru
  • Struktūra kā funkcijas arguments
  • C ++ struktūras ierobežojums

Kad izmantot struktūru?

Šeit ir daži iemesli, kāpēc struktūru izmanto C ++.

  • Izmantojiet struktūru, kad vienā datu tipā ir jāglabā dažādu veidu datu elementi.
  • C ++ struktūras ir vērtības tips, nevis atsauces tips. Izmantojiet struktūru, ja pēc izveides negrasāties modificēt datus.

C ++ struktūras inicializēšana

Lai izveidotu C ++ struktūru, mēs izmantojam strukturālo atslēgvārdu, kam seko identifikators. Identifikators kļūst par struktūras nosaukumu. Šeit ir sintakse C ++ struktūras izveidei:

Sintakse:

struct struct_name{// struct members}

Iepriekš minētajā sintaksē mēs izmantojām strukturālo atslēgvārdu. Struct_name ir struktūras nosaukums.

Strukturālie locekļi tiek pievienoti cirtainās iekavās. Šie dalībnieki, iespējams, pieder pie dažādiem datu tipiem.

Piemēram:

struct Person{char name[30];int citizenship;int age;}

Iepriekš minētajā piemērā Persona ir struktūra, kurā ir trīs locekļi. Biedri ietver vārdu, pilsonību un vecumu. Vienam dalībniekam ir char datu tips, bet pārējie 2 ir veseli skaitļi, kad tiek izveidota struktūra, bet atmiņa netiek piešķirta. Atmiņa tiek piešķirta tikai pēc mainīgā pievienošanas struktūrai.

Struktūras gadījumu izveide

Iepriekš minētajā piemērā mēs esam izveidojuši struktūru ar nosaukumu Persona. Struktūras mainīgo mēs varam izveidot šādi:

Person p;

P ir Personas tipa strukturālais mainīgais. Mēs varam izmantot šo mainīgo, lai piekļūtu struktūras dalībniekiem.

Piekļuve strukturālajiem locekļiem

Lai piekļūtu struktūras locekļiem, mēs izmantojam struktūras instanci un punktu (.) Operatoru. Piemēram, lai piekļūtu struktūras Person dalībnieka vecumam:

p.age = 27;

Mēs esam piekļuvuši struktūras Personas dalībnieku vecumam, izmantojot struktūras instanci, lpp. Pēc tam mēs esam iestatījuši dalībnieka vecuma vērtību 27.

1. piemērs:

#include using namespace std;struct Person{int citizenship;int age;};int main(void) {struct Person p;p.citizenship = 1;p.age = 27;cout << "Person citizenship: " << p.citizenship << endl;cout << "Person age: " << p.age << endl;return 0;}

Izeja:

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Iekļaujiet iostream galvenes failu mūsu programmā, lai izmantotu tajā noteiktās funkcijas.
  2. Iekļaujiet standarta nosaukumvietu, lai izmantotu tās klases, to neizsaucot.
  3. Izveidojiet struktūru ar nosaukumu Persona.
  4. Strukturālā ķermeņa sākums.
  5. Izveidojiet struktūras locekli ar nosaukumu vesels skaitlis pilsonība.
  6. Izveidojiet struktūras locekli, kura nosaukums ir tipa vesels skaitlis.
  7. Struktūras ķermeņa beigas.
  8. Izsauciet galveno () funkciju. Šīs funkcijas pamattekstā jāpievieno programmas loģika.
  9. Izveidojiet struktūras Persona instanci un piešķirot tai vārdu p.
  10. Iestatiet strukturēta locekļa pilsonības vērtību 1.
  11. Iestatiet strukturētā dalībnieka vecuma vērtību 27.
  12. Drukājiet konsolē strukturētā locekļa pilsonības vērtību blakus kādam citam tekstam.
  13. Drukājiet konsolē struktūras dalībnieka vecuma vērtību kopā ar citu tekstu.
  14. Ja programma darbojas veiksmīgi, programmai jāatgriež vērtība.
  15. Galvenās () funkcijas beigas.

Norādes uz struktūru

Ir iespējams izveidot rādītāju, kas norāda uz struktūru. Tas ir līdzīgi tam, kā tiek izveidoti rādītāji, kas norāda uz vietējiem datu tipiem, piemēram, int, float, double utt. Ņemiet vērā, ka C ++ rādītājs saglabā atmiņas vietu.

2. piemērs:

#include using namespace std;struct Length{int meters;float centimeters;};int main(){Length *ptr, l;ptr = &l;cout << "Enter meters: ";cin >> (*ptr).meters;cout << "Enter centimeters: ";cin >> (*ptr).centimeters;cout << "Length = " << (*ptr).meters << " meters " << (*ptr).centimeters << " centimeters";return 0;}

Izeja:

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Iekļaujiet iostream galvenes failu mūsu programmā, lai izmantotu tā funkcijas.
  2. Iekļaujiet standarta nosaukumvietu mūsu programmā, lai izmantotu tās klases, to neizsaucot.
  3. Izveidojiet struktūru, kuras nosaukums ir Garums.
  4. Struktūras garuma sākums.
  5. Izveidojiet struktūras locekli, kura nosaukums ir skaitļa skaitļa skaitlis.
  6. Izveidojiet struktūras locekli ar nosaukumu vesels skaitlis centimetri.
  7. Struktūras garuma ķermeņa beigas.
  8. Izsauciet galveno () funkciju.
  9. Galvenās () funkcijas ķermeņa sākums.
  10. Izveidojiet rādītāja mainīgo * ptr un parasto mainīgo l ar garumu.
  11. Saglabājiet mainīgā l adresi mūsu rādītāja mainīgajā.
  12. Parādiet ziņojumu konsolē, lūdzot lietotāju ievadīt mainīgo skaitītāju vērtību.
  13. Izlasiet lietotāja ievadīto vērtību, izmantojot tastatūru. Dalībnieku funkciju skaitītājiem šeit var piekļūt, izmantojot rādītāja mainīgo.
  14. Parādiet ziņojumu konsolē, lūdzot lietotāju ievadīt mainīgo centimetru vērtību.
  15. Izlasiet lietotāja ievadīto vērtību, izmantojot tastatūru. Locekļa funkcijas centimetriem šeit var piekļūt, izmantojot rādītāja mainīgo.
  16. Rādīt no lietotāja nolasītās vērtības konsolē kopā ar citu tekstu.
  17. Pēc veiksmīgas izpildes programmai jāatgriež vērtība.
  18. Galvenās () funkcijas ķermeņa beigas.

Struktūra kā funkcijas arguments

Varat struktūrai nodot funkciju kā argumentu. Tas tiek darīts tāpat kā normāla argumenta nodošana. Struktūras mainīgos var nodot arī funkcijai. Labs piemērs ir tas, kad jums jāparāda struktūras locekļu vērtības. Parādīsim to:

3. piemērs:

#includeusing namespace std;struct Person{int citizenship;int age;};void func(struct Person p);int main(){struct Person p;p.citizenship = 1;p.age = 27;func(p);return 0;}void func(struct Person p){cout << " Person citizenship: " << p.citizenship<

Izeja:

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Iekļaujiet mūsu failā iostream galvenes failu. Pēc tam mēs izmantosim tā funkcijas bez kļūdām.
  2. Iekļaujiet standarta vārdu telpu mūsu programmā, lai izmantotu tās klases. Lai izmantotu tās klases, mums nebūs jāzvana nosaukumvietai.
  3. Izveidojiet struktūru ar nosaukumu Persona.
  4. Strukturētās personas ķermeņa sākums.
  5. Izveidojiet struktūras Person biedru. Biedrs ir nosaukts par pilsonību un ir vesels skaitlis.
  6. Izveidojiet struktūras Person biedru. Biedrs ir nosaukts vecums un ir vesels skaitlis.
  7. Strukturētās personas ķermeņa beigas.
  8. Izveidojiet funkciju, kas par argumentu ņem struktūras Persona p.
  9. Izsauciet galveno funkciju. {Apzīmē sākumu galvenajai () funkcijai.
  10. Izveidojiet struktūras Persona instanci un piešķirot tai vārdu p.
  11. Piekļūstiet struktūras locekļa mainīgajai pilsonībai, izmantojot struktūras inst, p un piešķirot tai vērtību 1.
  12. Piekļūstiet struktūras locekļa mainīgajam vecumam, izmantojot struktūras instanci p un piešķirot tai vērtību 27.
  13. Izsauciet funkciju un nododot tai kā argumentu struktūras Persona p p.
  14. Funkcijai pēc veiksmīgas izpildes jāatdod vērtība.
  15. Galvenās () funkcijas ķermeņa beigas.
  16. Izveidojiet funkcijas pamattekstu.
  17. Funkcijas ķermeņa sākums.
  18. Piekļūstiet strukturētā locekļa pilsonības vērtībai un drukājiet to konsolē līdzās citam tekstam.
  19. Piekļūstiet struktūras dalībnieka vecuma vērtībai un izdrukājiet to konsolē līdzās citam tekstam.
  20. Funkcijas ķermeņa beigas.

C ++ struktūras ierobežojums

Struktūru ierobežojumi ir šādi:

  • Struktūras datu tipu nevar uzskatīt par iebūvētiem datu tipiem.
  • Operatorus, piemēram, + - un citus, nevar izmantot struktūras mainīgajiem.
  • Struktūras neatbalsta datu slēpšanu. Struktūras dalībniekiem var piekļūt ar jebkuru funkciju neatkarīgi no tās darbības jomas.
  • Statiskos locekļus nevar deklarēt struktūras korpusā.
  • Konstruktorus nevar izveidot struktūras iekšpusē.

Kopsavilkums:

  • Struktūra ir datu struktūra, kurā tiek glabāti dažādu veidu datu elementi.
  • Masīvā glabājas līdzīga veida datu elementi, struktūrā - dažādu veidu datu elementi.
  • Struktūra jāizmanto, ja nav paredzams, ka datu elementi mainīs vērtību.
  • Struktūras dalībniekiem var piekļūt, izmantojot punktu (.) Operatoru.
  • Mums ir jāizveido struktūras instance.
  • Lai izveidotu C ++ struktūru, mēs izmantojam struktūras atslēgvārdu.
  • Norādes, kas norāda uz struktūru, tiek veidotas līdzīgi tam, kā tiek izveidotas norādes, kas norāda uz parastajiem tipiem.
  • Struktūru kā argumentu funkcijai var nodot tāpat kā parastās funkcijas.