Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Toepassing van Structs | Introductie tot Structs
C-Structs

Toepassing van Structs

Veeg om het menu te tonen

Bij het ontwerpen van programma's is een zeer belangrijke stap de keuze van de representatie van de gegevens die je gaat beheren.

Stel, je wilt een eenvoudig programma schrijven om het aantal neutronen in een atoom automatisch te berekenen.

A-Z

Waarbij N het aantal neutronen is, A de atoommassa van het element, en Z het aantal protonen. Een functie om het aantal neutronen in C te berekenen zou er als volgt uitzien:

int NeutronCount(float A, int Z)
{
	int N = A - Z;
	return N;
}

Om deze functie te gebruiken, moet je een groot aantal variabelen declareren met de kenmerken van elk chemisch element zonder in de war te raken.

Het lijkt erop dat je de berekeningen hebt geautomatiseerd, maar je hebt geen voordeel behaald in gemak of snelheid. Het is erg onhandig om elke keer de parameters van een chemisch element in te voeren, vervolgens het resultaat ergens op te schrijven, enzovoort.

char firstElementName[3];
int firstElementAtomicNum;
int firstElementValency;
double firstElementMass;

char secondElementName[3];
int secondElementAtomicNum;
int secondElementValency;
double secondElementMass;

char thirdElementName[3];
int thirdElementAtomicNum;
int thirdElementValency;
double thirdElementMass;

En zo verder voor nog eens 118 chemische elementen.

"Het zou geweldig zijn als mijn favoriete taal, C, een mechanisme had om complexe gegevens te beschrijven en te manipuleren", dacht je.

Laten we de toekomstige structuur die elk chemisch element zal beschrijven, bijvoorbeeld silicium "Si", visueel weergeven:

chemisch+element

Het is behoorlijk handig. In plaats van een heleboel losse variabelen aan te maken, kun je een structuur definiëren die alle velden bevat. In de C-taal is alles wat je hiervoor nodig hebt al beschikbaar.

question mark

Waarom is het onhandig om het aantal neutronen te berekenen met afzonderlijke variabelen voor elk element?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 1. Hoofdstuk 2
some-alt