Atšķirība Starp Struktūru Un Savienojumu C

Satura rādītājs:

Atšķirība Starp Struktūru Un Savienojumu C
Atšķirība Starp Struktūru Un Savienojumu C

Video: Atšķirība Starp Struktūru Un Savienojumu C

Video: Atšķirība Starp Struktūru Un Savienojumu C
Video: KUKA.Sim 4.0 ENG Вебинар, проведенный KUKA Nordic 2024, Aprīlis
Anonim

Galvenā atšķirība - struktūra salīdzinājumā ar Savienību C

Masīvs ir dati, kas strukturēti ar C valodu. Masīvu var izmantot viena veida datu elementu glabāšanai. Ja ir izteikums kā int zīmes [10]; tad atzīmes ir masīvs, kurā var saglabāt desmit zīmes, un visas no tām ir veseli skaitļi. Dažreiz tiek prasīts dažādu veidu datu elementus glabāt vienā atmiņas vietā. Piemēram, darbiniekam var būt darbinieka ID, vārds, nodaļa, vecums utt. Viņiem ir dažādi datu veidi. Tādēļ ir nepieciešama metode dažādu datu elementu glabāšanai kā vienībai. Struktūras un savienības C tiek izmantotas dažādu veidu datu elementu glabāšanai vienā atmiņas vietā. Struktūra un savienība ir līdzīgas, taču tās galvenokārt atšķiras atmiņas piešķiršanas dēļ. Struktūras mainīgā glabāšanai nepieciešamā atmiņa ir visu dalībnieku atmiņas lieluma summēšana. Savienojuma mainīgā glabāšanai nepieciešamā atmiņa ir atmiņa, kas nepieciešama savienojuma lielākajam elementam. Šī ir galvenā atšķirība starp struktūru un savienību C. Šajā rakstā ir aplūkota atšķirība starp struktūru un savienību C.

SATURS

1. Pārskats un galvenās atšķirības

2. Kas ir struktūra C

3. Kas ir Savienība C

4. Struktūras un savienības līdzības C

5. Blakus salīdzinājums - Struktūra pret Savienību C tabulas veidā

6. Kopsavilkums

Kas ir struktūra C?

Struktūra ir lietotāja definēts datu tips C. Tas palīdz apvienot dažāda veida datu vienumus. Struktūra var attēlot ierakstus. Studentam var būt studenta ID, studenta vārds utt. Tā vietā, lai katru mainīgo glabātu atsevišķi, visus šos dažādos datu vienumus var saspiest vienā vienībā, izmantojot struktūru. To definē, izmantojot atslēgvārdu 'struct'. Struktūrā visiem tās dalībniekiem var piekļūt jebkurā laikā. Tālāk tiek izveidots atvasināts datu tips struct Student.

struktūras students {

intstudent_id;

char student_name [20];

};

Attiecībā uz iepriekš minēto struktūru mainīgos var deklarēt šādi.

strukturēts Studentu students1, students2, students3;

Ir divas metodes, kā piekļūt struktūras dalībniekiem. Tas ir, izmantojot dalībnieka operatoru (.) Un struktūras rādītāja operatoru (->). Biedriem var piekļūt, izmantojot struktūras_mainīgais_nosaukums. dalībnieka vārds. Ja programmētājs vēlas piekļūt studenta 2 vārdam, viņš var uzrakstīt paziņojumu kā printf (students2.student_namename);

Skatiet zemāk esošo programmu ar struktūru.

Atšķirība starp struktūru un savienojumu C
Atšķirība starp struktūru un savienojumu C

01. attēls: C programma ar struktūrām

Saskaņā ar iepriekš minēto programmu students ir struktūra. Tajā ir students_id un studenta vārds. Divi struktūras tipa mainīgie ir deklarēti galvenajā programmā. Tos sauc par studentu1 un studentu2. Student1 ID tiek piešķirts ar vērtību 1, izmantojot dalībnieka operatoru kā studentu1.student_id = 1. Vārds “Ann” ir virkne. Tāpēc tas tiek kopēts studenta_nosaukuma dalībniekam, izmantojot virknes kopēšanas funkciju strcpy. ID un vārds tiek piešķirts studentam2 līdzīgā veidā. Visbeidzot, šīs vērtības tiek izdrukātas, izmantojot dalībnieka operatoru.

Struktūras mainīgā glabāšanai nepieciešamais atmiņas apjoms ir visu dalībnieku atmiņas lieluma summa. Student_id satur 4 baitus, un studenta_ name - 20 baitus (katram rakstam ir viens baits). Kopā 24 baiti ir struktūrai nepieciešamā atmiņas lieluma summa.

Kas ir Savienība C?

Savienība ir lietotāja definēts datu tips C. Tas palīdz saglabāt dažādus datu tipus vienā atmiņas vietā. Grāmatai var būt tādas īpašības kā grāmatas_nosaukums, cena utt. Tā vietā, lai katram veidotu mainīgos, savienojumu var izmantot, lai visus dažādos datu tipus sablīvētu vienā vienībā, izmantojot savienojumu. To definē, izmantojot atslēgvārdu “union”. Tālāk tiek izveidota atvasināta datu savienības grāmata.

unionBook {

char nosaukums [20];

dubultā cena;

};

Attiecībā uz iepriekš minēto savienību mainīgos var deklarēt šādi.

savienības grāmata grāmata1, grāmata2;

Ir divas metodes, kā piekļūt arodbiedrības biedriem. Tas ir, izmantojot dalībnieka operatoru (.) Un struktūras rādītāja operatoru (->). Biedriem var piekļūt, izmantojot union_variable_name. dalībnieka vārds. Ja programmētājs vēlas piekļūt grāmatas nosaukumam1, viņš paziņojumu var rakstīt kā printf (book1.name);

Skatiet zemāk esošo programmu arodbiedrībā.

Atšķirība starp struktūru un savienojumu C Figure 02
Atšķirība starp struktūru un savienojumu C Figure 02

02. attēls: C programma, izmantojot savienojumu

Saskaņā ar iepriekš minēto programmu Grāmata ir savienība. Book1 ir tipa savienojuma mainīgais. Nosaukumam un cenai ir piešķirtas vērtības. Savienībā vienlaikus var piekļūt tikai vienam no tās locekļiem, un visiem pārējiem locekļiem būs atkritumu vērtības. Id vērtība netiek pareizi izdrukāta, bet cenas vērtība tiek izdrukāta pareizi.

Galvenā atšķirība starp struktūru un savienību C
Galvenā atšķirība starp struktūru un savienību C

03. attēls: Modificēta C programma ar savienojumu

Saskaņā ar iepriekš minēto programmu Grāmata ir savienība. Book1 un book2 ir savienības veida mainīgie. Pirmkārt, tiek piešķirta book1 nosaukuma vērtība un tā tiek izdrukāta. Tad tiek piešķirta book2 nosaukuma vērtība un tā tiek izdrukāta. Visi dalībnieki drukā pareizi, jo vienlaikus tiek izmantots viens dalībnieks. Savienības glabāšanai nepieciešamā atmiņa ir atmiņa, kas nepieciešama lielākajam savienības elementam. Iepriekš minētajā programmā nosaukuma mainīgais ir 20 baiti. Tas ir lielāks par cenu. Tātad atmiņas piešķiršana savienībai ir 20 baiti.

Kādas ir struktūras un savienības līdzības C?

  • Gan Struktūra, gan Savienība C ir lietotāja definēti datu tipi.
  • Gan struktūru, gan savienojumu C var izmantot, lai vienā un tajā pašā atmiņas vietā saglabātu dažādus datu tipus.

Kāda ir atšķirība starp struktūru un savienojumu C?

Atšķirīgs raksts vidū pirms tabulas

Struktūra pret Savienību C

Struktūra ir lietotāja definēts datu tips C valodā, kas ļauj apvienot dažādu veidu datus. Union ir lietotāja definēts datu tips C valodā, kas ļauj apvienot dažādu veidu datus.
Pieejamība
Struktūrā visiem tās dalībniekiem var piekļūt jebkurā laikā. Arodbiedrībā vienlaikus var piekļūt tikai vienam no tās biedriem, un visos pārējos locekļos būs atkritumu vērtības.
Atmiņas piešķiršana
Struktūras mainīgā glabāšanai nepieciešamā atmiņa ir visu dalībnieku atmiņas lieluma summēšana. Savienojuma mainīgā glabāšanai nepieciešamā atmiņa ir atmiņa, kas nepieciešama savienojuma lielākajam elementam.
Atslēgvārds
Struktūras definēšanai izmantotais atslēgvārds ir 'struct'. Atslēgvārds, ko izmanto savienības definēšanai, ir “savienība”.

Kopsavilkums - Struktūra pret Savienību C

Masīvs tiek izmantots tāda paša veida datu elementu glabāšanai. Dažreiz vienā un tajā pašā atmiņas vietā ir nepieciešams uzglabāt dažāda veida datu elementus. C programmēšanas valoda nodrošina struktūru un savienojumu šī uzdevuma veikšanai. Abi ir lietotāja noteikti datu tipi. Struktūras mainīgā glabāšanai nepieciešamā atmiņa ir visu dalībnieku atmiņas lieluma summēšana. Savienojuma mainīgā glabāšanai nepieciešamā atmiņa ir atmiņa, kas nepieciešama savienojuma lielākajam elementam. Šī ir atšķirība starp struktūru un savienojumu C

Ieteicams: