Beste antwoord
Hangt af van waarin je het meet.
De waarde van sizeof(char)
is 1
per definitie ( 6.5.3.4p4 ), omdat de afmetingen maten in char. Het is geen minimale of maximale grootte, het is de enige mogelijke grootte.
Aangezien het een rekenkundig type is, is het samengesteld uit binaire bits en wordt hun aantal gedefinieerd in de macro CHAR\_BIT
, die minimaal 8
( Bijlage E / 1 ) moet zijn. Het is ook een tekentype en moet elke mogelijke UTF-8-code-eenheid bevatten (indirect gespecificeerd in 6.4.5p8 en elders), wat betekent dat het ook 8 binaire bits.
8 bits is de minimale grootte, er zijn compilers (in het bijzonder gericht op verschillende DSPs) met 16-bits tekens, en sommige met 32 en andere waarden groter dan 8.
Antwoord
Dus wat zijn precies functies?
Iets dat je hebt gemaakt toen je tijd had, zodat je het later in je leven kunt gebruiken wanneer je het nodig hebt, zonder tijd te verspillen.
Laten we een voorbeeld nemen van een rekenmachine –
Stel dat u twee getallen 1 en 2 wilt optellen.
U nam de rekenmachine, drukte op de knoppen 1 en 2 en geklikt op gelijkteken op rekenmachine.
Hier is optellen een function ()
1 & 2 zijn de argumenten voor uw functie ().
is gelijk aan -knop is de return statement van je rekenmachine.
Nu was je invoer twee ints (1 & 2) , dus als je twee ints toevoegt, krijg je natuurlijk een int als resultaattype.
Dit is duidelijk voor jou en mij, maar niet voor machines.
Daarom vóór elke functie (in dit geval main () ) voegen we het retourtype toe (betekent, welk type van waarde wordt geretourneerd).
Nu moet u nadenken, waarom hebben we void dan?
Kijk, er zijn scenarios waarin we niets terug willen van de functie () , zeg in de in het vorige voorbeeld wilt u niet de som van 1 & 2, in in plaats daarvan wil je dat 1 & 2 op het scherm worden weergegeven, dat is het.
Dus deze keer na het invoeren van 1 & 2 zal je niet op drukken equals () .
equals () -knop was onze retourverklaring, dus we drukken niet op euals () betekent dat we niets van onze functie willen en als we niets van onze functie willen (er is niets dat we willen retourneren ) en waarom we een retourneringstype specificeren.
Daarom specificeren we geen retourneringstype (en typ geen return-instructie aan het einde van de functie) of we schrijven gewoon void als ons retourtype.
Opmerking: leegte schrijven en niets schrijven is een en hetzelfde.
Een goede coderingsstandaard is om ongeldig te schrijven ( als u niets retourneert), omdat dit u zal helpen bij het ontwikkelen van een gewoonte om het retourtype voor elke functie te specificeren .
In taal zoals JAVA, als je niets retourneert, moet je expliciet void typen voor je functienaam.
Veel plezier met coderen .