Ц ++ структура са примером

Преглед садржаја:

Anonim

Шта је структура у Ц ++-у?

СТРУЦТ је Ц ++ структуру података који се може користити за складиштење заједно елементе различитих типова података. У Ц ++, структура је кориснички дефинисани тип података. Структура ствара тип података за груписање ставки различитих типова података у један тип података.

На пример:

Претпоставимо да треба да чувате податке о некоме, његовом имену, држављанству и старости. Можете да креирате променљиве као што су име, држављанство и старост да бисте податке чували одвојено.

Међутим, можда ћете у будућности морати да складиштите информације о многим особама. То значи да ће се стварати променљиве за различите појединце. На пример, име1, држављанство1, старост1 итд. Да бисте то избегли, боље је створити структуру.

У овом упутству за Ц ++ научићете:

  • Шта је структура у Ц ++-у?
  • Када користити структуру?
  • Иницијализација структуре Ц ++
  • Креирање инстанци структура
  • Приступање члановима Структуре
  • Показивачи на структуру
  • Структура као аргумент функције
  • Ограничење структуре Ц ++

Када користити структуру?

Ево неколико разлога због којих се користи структура у Ц ++.

  • Користите структуру када је потребно да у један тип података сместите елементе различитих типова података.
  • Ц ++ структуре су вредносни тип, а не референтни тип. Користите структуру ако не намеравате да измените податке након креирања.

Иницијализација структуре Ц ++

Да бисмо креирали структуру Ц ++, користимо кључну реч струцт, праћену идентификатором. Идентификатор постаје име структуре. Ево синтаксе за стварање Ц ++ структуре:

Синтакса:

struct struct_name{// struct members}

У горњој синтакси користили смо кључну реч струцт. Име_структуре је име структуре.

Чланови структуре додају се у витичасте заграде. Ови чланови вероватно припадају различитим врстама података.

На пример:

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

У горњем примеру, Особа је структура са три члана. Чланови укључују име, држављанство и старост. Један члан је типа података цхар, док су преостала 2 цели бројеви када се креира структура, меморија се не додељује. Меморија се додељује тек након додавања променљиве у структуру.

Креирање инстанци структура

У горњем примеру смо креирали структуру са именом Персон. Ми можемо створити променљиву струцт на следећи начин:

Person p;

П је структурна променљива типа Персон. Ову променљиву можемо користити за приступ члановима структуре.

Приступање члановима Структуре

Да бисмо приступили члановима струцт, користимо инстанцу струцт и дот (.) Оператора. На пример, да бисте приступили узрасту члана струцт Персон:

p.age = 27;

Приступили смо узрасту члана струцт Персон користећи инстанцу струцт, стр. Затим смо поставили вредност узраста за члана на 27 година.

Пример 1:

#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;}

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључите датотеку заглавља иостреам у наш програм да бисте користили функције дефинисане у њему.
  2. Укључите стд простор имена да бисте користили његове класе без позивања.
  3. Направите структуру са именом Персон.
  4. Почетак структурног тела.
  5. Креирајте члана структуре са именом држављанство целог броја типа.
  6. Направите члана структуре са именом аге оф типе интегер.
  7. Крај тела структуре.
  8. Позовите главну () функцију. Логику програма треба додати у тело ове функције.
  9. Направите инстанцу структуре Персон и дајте јој име п.
  10. Поставите вредност држављанства структурних чланова на 1.
  11. Подесите вредност старосне доби члана на 27 година.
  12. Одштампајте вредност држављанства члана структуре на конзоли уз неки други текст.
  13. Одштампајте вредност старости члана структуре на конзоли уз неки други текст.
  14. Програм би требало да врати вредност ако се успешно изводи.
  15. Крај главне () функције.

Показивачи на структуру

Могуће је створити показивач који показује на структуру. Слично је томе како се креирају показивачи који упућују на матичне типове података попут инт, флоат, доубле итд. Имајте на уму да ће показивач у Ц ++-у сачувати меморијску локацију.

Пример 2:

#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;}

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључите иостреам датотеку заглавља у наш програм како бисте користили његове функције.
  2. Укључите стд простор имена у наш програм да користи његове класе без позива.
  3. Направите структуру под називом Ленгтх.
  4. Почетак тела структуре Дужина.
  5. Направите члана структуре са именом мерачи целобројног типа података.
  6. Направите члана структуре са именом центиметри целог броја типа.
  7. Крај тела структуре Дужина.
  8. Позовите главну () функцију.
  9. Почетак тела главне () функције.
  10. Направите променљиву показивача * птр и нормалну променљиву л типа Ленгтх.
  11. Спремите адресу променљиве л у нашу променљиву показивача.
  12. На конзоли прикажите поруку која тражи од корисника да унесе вредност за променљиве бројила.
  13. Прочитајте вредност коју је корисник унео преко тастатуре. Мерачима функција члана овде се приступа помоћу променљиве показивача.
  14. На конзоли прикажите поруку која тражи од корисника да унесе вредност за променљиве центиметре.
  15. Прочитајте вредност коју је корисник унео преко тастатуре. Овде се приступа функцији члана центиметара помоћу променљиве показивача.
  16. Прикажите вредности прочитане од корисника на конзоли уз неки други текст.
  17. Програм мора вратити вредност након успешног извршавања.
  18. Крај тела главне () функције.

Структура као аргумент функције

Можете проследити структуру функцији као аргумент. То се ради на исти начин као и доношење нормалног аргумента. Променљиве структуре такође се могу проследити функцији. Добар пример је када треба да прикажете вредности чланова структуре. Покажимо ово:

Пример 3:

#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<

Излаз:

Ево снимка екрана кода:

Објашњење кода:

  1. Укључите иостреам датотеку заглавља у нашу датотеку. Тада ћемо користити његове функције без грешака.
  2. Укључите стд простор имена у наш програм да бисте користили његове класе. Нећемо морати да зовемо простор имена да бисмо користили његове класе.
  3. Направите структуру са именом Персон.
  4. Почетак тела структурне Особе.
  5. Направите члана струцт Персон. Члан је именован држављанством и целог је типа.
  6. Направите члана струцт Персон. Члан је именован годином и целог је типа.
  7. Крај тела структурне Особе.
  8. Направите функцију која узима аргумент аргумента струцт Персон, п.
  9. Позовите главну функцију. Ознака {означава почетак тела маин () функције.
  10. Направите инстанцу струцт Персон и дајте јој име п.
  11. Приступите променљивом држављанству члана структуре користећи инстанцу струцт, п и доделите му вредност 1.
  12. Приступите променљивој старости члана структуре користећи инстанцу струцт, п и доделите јој вредност 27.
  13. Позовите функцију и проследите јој инстанцу струцт Персон, п, као аргумент.
  14. Функција мора вратити вредност након успешног извршавања.
  15. Крај тела главне () функције.
  16. Направите тело функције.
  17. Почетак тела функције.
  18. Приступите вредности држављанства структурног члана и одштампајте га на конзоли заједно са другим текстом.
  19. Приступите вредности старости члана структуре и одштампајте је на конзоли заједно са другим текстом.
  20. Крај тела функције.

Ограничење структуре Ц ++

Следе ограничења структура:

  • Тип података струцт не може се третирати као уграђени тип података.
  • Оператори попут + - и други не могу се користити на структурним променљивим.
  • Структуре не подржавају скривање података. Члановима структуре може приступити било која функција без обзира на њен опсег.
  • Статични чланови се не могу декларисати унутар тела конструкције.
  • Конструктори се не могу креирати унутар структуре.

Резиме:

  • Структура је структура података која чува елементе података који припадају различитим типовима.
  • Док низ чува елементе података сличног типа, структура чува елементе података различитих типова.
  • Структуру треба користити када се не очекује да елементи података промене вредност.
  • Члановима структуре приступа се помоћу оператора тачка (.).
  • Морамо створити инстанцу струцт.
  • Да бисмо креирали структуру Ц ++, користимо кључну реч струцт.
  • Показивачи који упућују на структуру креирају се слично као што се креирају показивачи који упућују на редовне типове.
  • Структура се може проследити као аргумент функцији на исти начин на који се прослеђују обичне функције.