Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sizeof-Operaattorin Ymmärtäminen | Tietotyypit ja Muuttujat
C:n Perusteet

bookSizeof-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

main.c

copy
12345678
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }

int-tietotyyppi vie 4 tavua.

Note
Huomio

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

Main.c

copy
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

main.c

copy
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

main.c

copy
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; }
question mark

Mikä C-lauseke palauttaa taulukon arr alkioiden lukumäärän?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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

bookSizeof-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

main.c

copy
12345678
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }

int-tietotyyppi vie 4 tavua.

Note
Huomio

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

Main.c

copy
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

main.c

copy
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

main.c

copy
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; }
question mark

Mikä C-lauseke palauttaa taulukon arr alkioiden lukumäärän?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 7
some-alt