Hallo en welkom.
In deze demonstratie wil ik een oplossing bieden voor een snel klein programma
dat de operator sizeof zal gebruiken om ons te vertellen
hoe groot ons geheugen is voor bepaalde gegevenstypen.
Laten we codeblokken naar voren
brengen, en we gaan hier bekende stappen doen bij het maken van een project.
En we gaan een betekenisvolle naam krijgen.
Laten we dit project
sizeofexample noemen.
Dus voorbeeldgrootte.
Dit gaat echt heel makkelijk worden. Het gaat gewoon
afdrukinstructies gebruiken om bepaalde gegevenstypen weer te geven.
Dus ik ga gewoon geen variabelen maken. Ik ga even wat
gegevens uitprinten.
Dus hier ga ik zeggen dat variabelen van het
type char procent innemen.
En ik ging een
bepaald um-gegevenstype gebruiken. Ik denk dat het zf was, maar
laten we proberen zd te gebruiken. Dit is een mooie
formaatspecificatie, die is toegevoegd in C99, geloof ik.
Zd en dan hoeven we alleen sizeof te gebruiken.
Sizeof en get it lijkt op een functie, maar is het niet. En zeg dan char voor karakter.
En dan ga ik dit gewoon
kopiëren en plakken omdat ik soortgelijke dingen ga doen.
Ik ga geen char doen, maar ik ga een short doen op de tweede.
Ik ga een int en een long, long
long, double
doen of laten we een float doen, float double,
laten we long double proberen.
En dan hoeven we alleen nog maar de grootte
van de parameters aan te passen om de corresponderende typen te gebruiken.
We zullen dit ook gebruiken als we het hebben over geheugen en aanwijzers.
Maar dit helpt alleen om verschillende gegevenstypen te begrijpen.
En je zult zien dat je echt lang in
de ruimte kunt passeren. Dat is waarschijnlijk de reden waarom het geen functie is, omdat je geen spaties in functieparameters kunt hebben.
Maar onthoud dat de sizeof ook variabelen, uitdrukkingen, allerlei dingen
nodig heeft.
En wanneer het dat doet, bepaalt het eigenlijk de grootte van
tijdens runtime in tegenstelling tot compileertijd in lange dubbele.
Bewaar dat, bouw.
Geen fouten.
Het lijkt erop dat het het z-formaat niet begrijpt.
Het is omdat het misschien niet int is. Laten we deze in plaats daarvan wijzigen in
procent gebruik voor niet-ondertekend.
Laten we nu gaan bouwen.
Oké, nu hebben we geen waarschuwingen. Als ik bouw, wil je meestal ook geen waarschuwingen hebben.
Waarschuwingen in de compiler zijn
precies wat ze zeggen dat ze waarschuwen. U zult dus nog steeds succesvol
compileren, maar een waarschuwing duidt meestal op een probleem.
Dus je wilt je waarschuwingen opschonen. En dus kreeg ik een waarschuwing dat een
formaatspecificatie procent z niet was toegestaan. , dus ik heb het veranderd, nu heb ik geen waarschuwingen.
Probeer uw waarschuwingen zoveel mogelijk op te schonen, want de reden dat het waarschuwingen zijn, is omdat ze problemen kunnen veroorzaken.
En een ding dat ik hier vergat dat ik zojuist
heb opgemerkt, is dat het verkeerd is geformatteerd omdat ik mijn escape-teken niet heb toegevoegd voor inzet voor regelfeeds.
Het is dus erg moeilijk om te lezen. Dus laten we onze
backslash n toevoegen na ons percentage u.
Dus nu staat er dat variabelen van het type char er één innemen.
Variabelen van het type short bezetten
2 bytes, int 4 bytes, long 4 bytes, long long
8 bytes, float 4 bytes, double 8 bytes, long double 12.
Het is best netjes. Je voert dit op veel verschillende platforms uit en je zult zien dat die dingen veranderen.
Dus een eenvoudig programma om te schrijven, maar het demonstreert opnieuw een aantal leuke concepten.
Dus je kunt je gang gaan, je kunt dit downloaden.
Als je problemen hebt, probeer het dan op verschillende platforms uit te voeren, maar
dit is alles wat ik wilde demonstreren, slechts een kleine show van
de verschillende gegevenstypegroottes, dus ga verder met de volgende sectie. Dank u.