Förståelse av sizeof-Operatorn
Funktionen sizeof() är en grundläggande del av C-programmering. Den används för att avgöra storleken (i byte) på det angivna objektet eller typen. Låt oss till exempel 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 skulle motsvara 8 bitar eftersom denna konfiguration på ett smidigt sätt representerar decimala tal. Du har troligen hört talas om det binära talsystemet, vilket utgör grunden för datorers funktion.
I grund och botten är målet 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 uttryckas som 111, och här är uppdelningen:
Värdena 0 eller 1 har i sig ingen matematisk betydelse; de anger endast 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
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
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 avgöra storleken (i byte) på det angivna objektet eller typen. Låt oss till exempel 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 skulle motsvara 8 bitar eftersom denna konfiguration på ett smidigt sätt representerar decimala tal. Du har troligen hört talas om det binära talsystemet, vilket utgör grunden för datorers funktion.
I grund och botten är målet 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 uttryckas som 111, och här är uppdelningen:
Värdena 0 eller 1 har i sig ingen matematisk betydelse; de anger endast 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!