Sizeof-Operaattorin Ymmärtäminen
sizeof()-operaattori on olennainen osa C-ohjelmointia. Sen avulla voidaan määrittää tietyn objektin tai tyypin koko tavuina. Katsotaan esimerkiksi, kuinka monta tavua int-tietotyyppi vie:
main.c
12345678#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
int-tietotyyppi vie 4 tavua.
Huomaa, että eri kääntäjät voivat varata eri määrän tavuja samalle tietotyypille.
Bitit
Bitti on tietokoneen käyttämä pienin tietoyksikkö. Jokainen tavu koostuu kahdeksasta bitistä.
Insinöörit päättivät yhdessä, että yksi tavu vastaa 8 bittiä, koska tämä rakenne mahdollistaa desimaalilukujen kätevän esittämisen. Olet todennäköisesti kuullut binäärilukujärjestelmästä, joka muodostaa tietokoneiden toiminnan perustan.
Perusajatuksena on esittää numeeriset arvot, joita käytämme arjessamme, nollien ja ykkösten yhdistelminä. Mikä tahansa luku voidaan esittää kahden potenssien yhdistelmänä. Esimerkiksi luku 7 voidaan esittää muodossa 111, ja tässä on erittely:
Arvoilla 0 tai 1 ei itsessään ole matemaattista merkitystä; ne ainoastaan ilmaisevat bitin tilan.
0– bitti on passiivinen;1– bitti on aktiivinen.
Luku 113 binäärimuodossa on 01110001:
Main.c
123456789101112#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); printf("Size of char type: %d bytes\n", sizeof(char)); printf("Size of double type: %d bytes\n", sizeof(double)); return 0; }
Voit myös käyttää sizeof()-funktiota taulukon koon selvittämiseen:
main.c
12345678910#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }
Taulukko, jossa on 10 kokonaislukualkiota, vie 40 tavua muistia, eli jokainen yksittäinen alkio vie 4 tavua. Jakamalla taulukon kokonaiskoon yhden alkion koolla saat selville taulukon alkioiden määrän:
main.c
1234567891011121314151617#include <stdio.h> int main() { int data[] = { 4, 8, 1, 5, 0, 123, 66, 11, 64, 2, 7, 78, -0, 34, 23, 545, 98, 890, 65, 32, 412, 6, 5465, 87859, 656534, 324, 324, 456, 356, 341, 5654, 534, 756, 12 }; printf("Elements in an array: %d\n", sizeof(data) / sizeof(int); ); // Alternatevly you can use `sizeof(data) / sizeof(data[0])` return 0; }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how the sizeof() function works with different data types?
How do I convert a decimal number to binary manually?
Can you show more examples of binary representations for other numbers?
Awesome!
Completion rate improved to 2.63
Sizeof-Operaattorin Ymmärtäminen
Pyyhkäise näyttääksesi valikon
sizeof()-operaattori on olennainen osa C-ohjelmointia. Sen avulla voidaan määrittää tietyn objektin tai tyypin koko tavuina. Katsotaan esimerkiksi, kuinka monta tavua int-tietotyyppi vie:
main.c
12345678#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
int-tietotyyppi vie 4 tavua.
Huomaa, että eri kääntäjät voivat varata eri määrän tavuja samalle tietotyypille.
Bitit
Bitti on tietokoneen käyttämä pienin tietoyksikkö. Jokainen tavu koostuu kahdeksasta bitistä.
Insinöörit päättivät yhdessä, että yksi tavu vastaa 8 bittiä, koska tämä rakenne mahdollistaa desimaalilukujen kätevän esittämisen. Olet todennäköisesti kuullut binäärilukujärjestelmästä, joka muodostaa tietokoneiden toiminnan perustan.
Perusajatuksena on esittää numeeriset arvot, joita käytämme arjessamme, nollien ja ykkösten yhdistelminä. Mikä tahansa luku voidaan esittää kahden potenssien yhdistelmänä. Esimerkiksi luku 7 voidaan esittää muodossa 111, ja tässä on erittely:
Arvoilla 0 tai 1 ei itsessään ole matemaattista merkitystä; ne ainoastaan ilmaisevat bitin tilan.
0– bitti on passiivinen;1– bitti on aktiivinen.
Luku 113 binäärimuodossa on 01110001:
Main.c
123456789101112#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); printf("Size of char type: %d bytes\n", sizeof(char)); printf("Size of double type: %d bytes\n", sizeof(double)); return 0; }
Voit myös käyttää sizeof()-funktiota taulukon koon selvittämiseen:
main.c
12345678910#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }
Taulukko, jossa on 10 kokonaislukualkiota, vie 40 tavua muistia, eli jokainen yksittäinen alkio vie 4 tavua. Jakamalla taulukon kokonaiskoon yhden alkion koolla saat selville taulukon alkioiden määrän:
main.c
1234567891011121314151617#include <stdio.h> int main() { int data[] = { 4, 8, 1, 5, 0, 123, 66, 11, 64, 2, 7, 78, -0, 34, 23, 545, 98, 890, 65, 32, 412, 6, 5465, 87859, 656534, 324, 324, 456, 356, 341, 5654, 534, 756, 12 }; printf("Elements in an array: %d\n", sizeof(data) / sizeof(int); ); // Alternatevly you can use `sizeof(data) / sizeof(data[0])` return 0; }
Kiitos palautteestasi!