Programmeren in C/Datatypes: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Kleuske (overleg | bijdragen)
kGeen bewerkingssamenvatting
Regel 59:
 
=== char ===
 
Een ''char'' is een type dat bedoeld is karakters op te slaan. Het type is breed genoeg om alle karakters in de ''execution character set'' als positieve waarde op te slaan. De waarde van alle andere karakters is afhankelijk van de implementatie.
 
Net als bij het type ''int'' en zijn afgeleiden, heersen oover het type ''char'' ook de nodige misverstanden. Het is bijvoorbeeld niet zo dat een ''char'' altijd een ''byte'' is. Dit is weliswaar vaak het geval, maar wordt geenzins door de standaard vereist. wel heeft een ''char'' '''minimaal''' 7 bits (geen 8!).
Evenmin specificeert de standaard of een ''char'' met teken of zonder wordt opgeslagen. Ook dit is afhankelijk van de implementatie.
 
Om het al dan niet gebruiken van een teken-bit expliciet te maken, kunnen, net als bij de integers, de keyword ''signed'' en ''unsigned'' worden gebruikt, hetgeen al met al drie verschillende types ''char'' oplevert.
 
{| class=prettytable
! type || betekenis
|-
| ''char'' || een karakter, met of zonder teken
|-
| ''signed char'' || een karakter met teken-bit
|-
| ''unsigned char'' || een karakter zonder tekenbit
|}
 
Het is mogelijk een ''char'' als ''tiny int'' te gebruiken, maar meestal levert dit meer last dan gemak op. Veelal moet extra object-code worden gegenereerd om de conversie van ''char'' naar ''int'' te bewerkstelligen (wat het programma groter maakt in plaats van kleiner) en de ''teken-expansie'' kan rare effecten opleveren, vooral omdat de standaard in het midden laat of ''char'' wel of geen teken heeft.
 
=== float en double ===
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.