Förståelse av sizeof-Operatorn
Svep för att visa menyn
Funktionen sizeof() är en grundläggande del av C-programmering. Den används för att bestämma storleken (i byte) på det angivna objektet eller typen. Till exempel, låt oss se hur många byte datatypen int upptar:
main.c
12345678#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
Datatypen int upptar 4 byte.
Observera att olika kompilatorer kan tilldela olika antal byte för samma datatyp.
Bitar
En bit är den mest grundläggande enheten av data som en dator använder. Varje byte består av åtta bitar.
Ingenjörer beslutade gemensamt att en byte ska motsvara 8 bitar eftersom denna konfiguration bekvämt representerar decimaltal. Du har troligen hört talas om det binära talsystemet, vilket utgör grunden för datorers funktion.
I grund och botten handlar det om att representera numeriska värden vi använder i vardagen med hjälp av kombinationer av nollor och ettor. Varje tal kan representeras som en kombination av tvåpotenser. Till exempel kan talet 7 skrivas som 111, och här är uppdelningen:
Värdena 0 eller 1 har inte i sig någon matematisk betydelse; de anger bara ett bits tillstånd.
0– biten är inaktiv;1– biten är aktiv.
Talet 113 ser i binär form ut 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 också använda funktionen sizeof() på en array för att fastställa dess storlek:
main.c
12345678910#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }
En array med 10 heltalselement upptar 40 byte, vilket innebär att varje enskilt element använder 4 byte. Om du dividerar arrayens totala storlek med storleken på ett av dess element får du fram antalet element i arrayen:
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; }
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Förståelse av sizeof-Operatorn
Funktionen sizeof() är en grundläggande del av C-programmering. Den används för att bestämma storleken (i byte) på det angivna objektet eller typen. Till exempel, låt oss se hur många byte datatypen int upptar:
main.c
12345678#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }
Datatypen int upptar 4 byte.
Observera att olika kompilatorer kan tilldela olika antal byte för samma datatyp.
Bitar
En bit är den mest grundläggande enheten av data som en dator använder. Varje byte består av åtta bitar.
Ingenjörer beslutade gemensamt att en byte ska motsvara 8 bitar eftersom denna konfiguration bekvämt representerar decimaltal. Du har troligen hört talas om det binära talsystemet, vilket utgör grunden för datorers funktion.
I grund och botten handlar det om att representera numeriska värden vi använder i vardagen med hjälp av kombinationer av nollor och ettor. Varje tal kan representeras som en kombination av tvåpotenser. Till exempel kan talet 7 skrivas som 111, och här är uppdelningen:
Värdena 0 eller 1 har inte i sig någon matematisk betydelse; de anger bara ett bits tillstånd.
0– biten är inaktiv;1– biten är aktiv.
Talet 113 ser i binär form ut 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 också använda funktionen sizeof() på en array för att fastställa dess storlek:
main.c
12345678910#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }
En array med 10 heltalselement upptar 40 byte, vilket innebär att varje enskilt element använder 4 byte. Om du dividerar arrayens totala storlek med storleken på ett av dess element får du fram antalet element i arrayen:
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; }
Tack för dina kommentarer!