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

bookForståelse af Sizeof-Operatoren

Funktionen sizeof() er en grundlæggende del af C-programmering. Den bruges til at bestemme størrelsen (i bytes) af det angivne objekt eller datatype. For eksempel kan vi se, hvor mange bytes datatypen int optager:

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 optager 4 bytes.

Note
Bemærk

Bemærk, at forskellige compilere kan allokere forskellige antal bytes til samme datatyper.

Bits

En bit er den mest grundlæggende enhed af data, en computer anvender. Hver byte består af otte bits.

Det blev besluttet i fællesskab af ingeniører at sætte én byte lig med 8 bits, da denne konfiguration bekvemt kan repræsentere decimaltal. Du har sandsynligvis hørt om det binære talsystem, som danner grundlaget for computerens funktion.

I sin kerne er målet at repræsentere numeriske værdier, som vi bruger i vores dagligdag, ved hjælp af kombinationer af nuller og ettaller. Ethvert tal kan repræsenteres som en kombination af to-potens. For eksempel kan tallet 7 fremstilles som 111, og her er opdelingen:

Værdierne 0 eller 1 har ikke i sig selv matematisk betydning; de angiver blot en bits tilstand.

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

Tallet 113 ser i binær ud 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å anvende funktionen sizeof() på et array for at fastslå dets størrelse:

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 heltalselementer optager 40 bytes, hvilket betyder, at hver enkelt element bruger 4 bytes. Hvis du dividerer den samlede arraystørrelse med størrelsen på ét af dets elementer, kan du bestemme antallet af 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-udtryk returnerer antallet af elementer i arrayet arr?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 7

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 2.63

bookForståelse af Sizeof-Operatoren

Stryg for at vise menuen

Funktionen sizeof() er en grundlæggende del af C-programmering. Den bruges til at bestemme størrelsen (i bytes) af det angivne objekt eller datatype. For eksempel kan vi se, hvor mange bytes datatypen int optager:

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 optager 4 bytes.

Note
Bemærk

Bemærk, at forskellige compilere kan allokere forskellige antal bytes til samme datatyper.

Bits

En bit er den mest grundlæggende enhed af data, en computer anvender. Hver byte består af otte bits.

Det blev besluttet i fællesskab af ingeniører at sætte én byte lig med 8 bits, da denne konfiguration bekvemt kan repræsentere decimaltal. Du har sandsynligvis hørt om det binære talsystem, som danner grundlaget for computerens funktion.

I sin kerne er målet at repræsentere numeriske værdier, som vi bruger i vores dagligdag, ved hjælp af kombinationer af nuller og ettaller. Ethvert tal kan repræsenteres som en kombination af to-potens. For eksempel kan tallet 7 fremstilles som 111, og her er opdelingen:

Værdierne 0 eller 1 har ikke i sig selv matematisk betydning; de angiver blot en bits tilstand.

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

Tallet 113 ser i binær ud 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å anvende funktionen sizeof() på et array for at fastslå dets størrelse:

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 heltalselementer optager 40 bytes, hvilket betyder, at hver enkelt element bruger 4 bytes. Hvis du dividerer den samlede arraystørrelse med størrelsen på ét af dets elementer, kan du bestemme antallet af 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-udtryk returnerer antallet af elementer i arrayet arr?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 7
some-alt