Forstå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
12345678#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
Datatypen int optager 4 bytes.
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
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
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
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; }
Tak for dine kommentarer!
Spørg AI
Spørg AI
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
Forstå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
12345678#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
Datatypen int optager 4 bytes.
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
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
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
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; }
Tak for dine kommentarer!