Verschil tussen structuur en unie

Schrijver: Monica Porter
Datum Van Creatie: 22 Maart 2021
Updatedatum: 18 Kunnen 2024
Anonim
Verzamelingenleer unie doorsnede verschil (O5 - ET 6.18)
Video: Verzamelingenleer unie doorsnede verschil (O5 - ET 6.18)

Inhoud

Grootste verschil

Structuur en unie zijn beide door de gebruiker afgebakende gegevenstypen die variabelen van verschillende gegevenstypen bevatten. Beide hebben dezelfde syntaxis voor definitie, declaratie van variabelen en voor het ophalen van leden. Toch zijn er veel verschillen tussen structuur en eenheid. In structuur krijgt elk lid een aparte ruimte in het geheugen. In unie is de totale toegewezen geheugenruimte gelijk aan het lid met de grootste grootte. Alle andere leden delen dezelfde geheugenruimte. Dit is het grootste verschil tussen structuur en unie.


Wat is structuur?

Structuur gebruikt al het geheugen van zijn lid. In structuur kunnen we elk lid in elke volgorde toelaten.

Wat is Union?

Union gebruikt de geheugenruimte van het grootste lid. In unie hebben we alleen toegang tot die variabele waarvan de waarde recent is opgeslagen.

Belangrijkste verschillen

  1. In structuur krijgt elk lid een aparte ruimte in het geheugen. In unie is de totale toegewezen geheugenruimte gelijk aan het lid met de grootste grootte. Alle andere leden delen dezelfde geheugenruimte. Dit is het grootste verschil tussen structuur en unie.
  2. In structuur kunnen we elk lid in elke volgorde toelaten. Terwijl we in unie alleen toegang hebben tot die variabele waarvan de waarde recent is opgeslagen.
  3. Alle leden kunnen worden voorbereid terwijl de variabele van de structuur wordt aangegeven. Alleen het eerste lid kan worden geïnitialiseerd tijdens het declareren van de variabele van unie. In het bovenstaande voorbeeld kunnen we alleen variabele roll no wijzigen op het moment van declaratie van variabele.
  4. Binnen een structuur krijgen alle leden geheugen toegewezen en hebben leden adressen die toenemen naarmate de vertragers van links naar rechts worden gelezen. Dat wil zeggen, de leden van een structuur beginnen allemaal op verschillende offsets vanaf de basis van de structuur. Voor een unioncompiler wijst het geheugen toe aan de grootste van alle leden en in een union hebben alle leden nul ten opzichte van de basis, de container is groot genoeg om het WIDEST-lid te bevatten en de uitlijning is geschikt voor alle typen in de union .
  5. Binnen een structuur krijgen alle leden geheugen toegewezen; daarom kan elk lid op elk moment worden opgehaald. Tijdens het ophalen van gegevens van een unie moet het type dat wordt opgehaald het type zijn dat het laatst is opgeslagen.
  6. Een of meer leden van een structuur kunnen in één keer worden geïnitialiseerd. Een unie mag alleen worden geïnitialiseerd met een waarde van het type van het eerste lid; dus unie u hierboven beschreven (tijdens voorbeelddeclaratie) kan alleen worden geïnitialiseerd met een geheel getal.
  7. De hoeveelheid geheugen die vereist is om een ​​structuurvariabele op te slaan, is de som van de grootte van alle leden. Aan de andere kant is in geval van vakbonden de vereiste hoeveelheid geheugen altijd gelijk aan die vereist door zijn grootste lid.
  8. Met een unie ben je slechts hypothetisch om een ​​van de elementen te gebruiken, omdat ze allemaal op dezelfde plek zijn opgeslagen. Dit is handig als u iets wilt opslaan dat uit verschillende typen kan bestaan. Een structuur heeft daarentegen een afzonderlijke geheugenlocatie voor elk van de elementen en ze kunnen allemaal tegelijk worden gebruikt.

Het belangrijkte verchil tuen productie en productie i dat Productie een proce i waarbij grondtof wordt omgezet in een afgewerkt product met behulp van veel proceen en Productie i een proce waarbij in...

Het belangrijkte verchil tuen mutatie en variatie i dat mutatie de veranderingen in de nucleotideequentie op DNR-niveau i, terwijl variatie i hoe een individu van een oort verchilt van een ander indiv...

Fascinerende Publicaties