Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Forståelse av sizeof-Operatoren | Datatyper og Variabler
C-Grunnleggende

bookForståelse av sizeof-Operatoren

Funksjonen sizeof() er en grunnleggende del av C-programmering. Den hjelper til med å bestemme størrelsen (i byte) på det angitte objektet eller typen. For eksempel, la oss se hvor mange byte datatypen int opptar:

main.c

main.c

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

Datatypen int opptar 4 byte.

Note
Merk

Vær oppmerksom på at ulike kompilatorer kan tildele forskjellige antall byte for samme datatypen.

Biter

En bit er den mest grunnleggende enheten for data en datamaskin bruker. Hver byte består av åtte biter.

Det ble bestemt av ingeniører at én byte skulle tilsvare 8 biter fordi denne konfigurasjonen enkelt kan representere desimaltall. Du har sannsynligvis hørt om det binære tallsystemet, som utgjør grunnlaget for datamaskinens operasjoner.

I bunn og grunn handler det om å representere tallverdier vi bruker i hverdagen ved hjelp av kombinasjoner av nuller og ett-tall. Ethvert tall kan representeres som en kombinasjon av to-potensene. For eksempel kan tallet 7 vises som 111, og her er oppdelingen:

Verdiene 0 eller 1 har ikke i seg selv matematisk betydning; de angir bare tilstanden til et bit.

  • 0 – biten er inaktiv;
  • 1 – biten er aktiv.

Tallet 113 ser i binær ut som 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; }

Du kan også bruke sizeof()-funksjonen på et array for å finne ut størrelsen:

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; }

Et array med 10 heltallselementer opptar 40 byte, noe som betyr at hver enkelt element bruker 4 byte. Hvis du deler den totale størrelsen på arrayet med størrelsen på ett av elementene, finner du antall elementer i arrayet:

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

Hvilket C-uttrykk returnerer antall elementer i arrayet arr?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.63

bookForståelse av sizeof-Operatoren

Sveip for å vise menyen

Funksjonen sizeof() er en grunnleggende del av C-programmering. Den hjelper til med å bestemme størrelsen (i byte) på det angitte objektet eller typen. For eksempel, la oss se hvor mange byte datatypen int opptar:

main.c

main.c

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

Datatypen int opptar 4 byte.

Note
Merk

Vær oppmerksom på at ulike kompilatorer kan tildele forskjellige antall byte for samme datatypen.

Biter

En bit er den mest grunnleggende enheten for data en datamaskin bruker. Hver byte består av åtte biter.

Det ble bestemt av ingeniører at én byte skulle tilsvare 8 biter fordi denne konfigurasjonen enkelt kan representere desimaltall. Du har sannsynligvis hørt om det binære tallsystemet, som utgjør grunnlaget for datamaskinens operasjoner.

I bunn og grunn handler det om å representere tallverdier vi bruker i hverdagen ved hjelp av kombinasjoner av nuller og ett-tall. Ethvert tall kan representeres som en kombinasjon av to-potensene. For eksempel kan tallet 7 vises som 111, og her er oppdelingen:

Verdiene 0 eller 1 har ikke i seg selv matematisk betydning; de angir bare tilstanden til et bit.

  • 0 – biten er inaktiv;
  • 1 – biten er aktiv.

Tallet 113 ser i binær ut som 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; }

Du kan også bruke sizeof()-funksjonen på et array for å finne ut størrelsen:

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; }

Et array med 10 heltallselementer opptar 40 byte, noe som betyr at hver enkelt element bruker 4 byte. Hvis du deler den totale størrelsen på arrayet med størrelsen på ett av elementene, finner du antall elementer i arrayet:

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

Hvilket C-uttrykk returnerer antall elementer i arrayet arr?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7
some-alt