Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Comprensione dell'Operatore sizeof | Tipi di Dati e Variabili
Fondamenti Di C

bookComprensione dell'Operatore sizeof

La funzione sizeof() è un elemento fondamentale nella programmazione in C. Consente di determinare la dimensione (in byte) dell'oggetto o del tipo specificato. Ad esempio, vediamo quanti byte occupa il tipo di dato int:

main.c

main.c

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

Il tipo di dato int occupa 4 byte.

Note
Nota

Tieni presente che compilatori diversi possono allocare dimensioni in byte differenti per lo stesso tipo di dato.

Bit

Un bit è l'unità di base più semplice di dati utilizzata da un computer. Ogni byte è composto da otto bit.

È stato deciso collettivamente dagli ingegneri di equiparare un byte a 8 bit perché questa configurazione rappresenta comodamente i numeri decimali. Probabilmente hai già sentito parlare del sistema numerico binario, che costituisce la base delle operazioni informatiche.

Fondamentalmente, l'obiettivo è rappresentare valori numerici che utilizziamo nella vita quotidiana tramite combinazioni di zeri e uni. Qualsiasi numero può essere rappresentato come una combinazione di potenze di due. Ad esempio, il numero 7 può essere rappresentato come 111, ecco la scomposizione:

I valori 0 o 1 non possiedono significato matematico intrinseco; indicano semplicemente lo stato di un bit.

  • 0 – il bit è inattivo;
  • 1 – il bit è attivo.

Il numero 113, in binario, appare come 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; }

È possibile utilizzare anche la funzione sizeof() su un array per determinarne la dimensione:

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

Un array con 10 elementi interi occupa 40 byte, il che significa che ogni singolo elemento utilizza 4 byte. Se si divide la dimensione totale dell'array per la dimensione di uno dei suoi elementi, si ottiene il numero di elementi dell'array:

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

Quale espressione C restituisce il numero di elementi nell’array arr?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 7

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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

bookComprensione dell'Operatore sizeof

Scorri per mostrare il menu

La funzione sizeof() è un elemento fondamentale nella programmazione in C. Consente di determinare la dimensione (in byte) dell'oggetto o del tipo specificato. Ad esempio, vediamo quanti byte occupa il tipo di dato int:

main.c

main.c

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

Il tipo di dato int occupa 4 byte.

Note
Nota

Tieni presente che compilatori diversi possono allocare dimensioni in byte differenti per lo stesso tipo di dato.

Bit

Un bit è l'unità di base più semplice di dati utilizzata da un computer. Ogni byte è composto da otto bit.

È stato deciso collettivamente dagli ingegneri di equiparare un byte a 8 bit perché questa configurazione rappresenta comodamente i numeri decimali. Probabilmente hai già sentito parlare del sistema numerico binario, che costituisce la base delle operazioni informatiche.

Fondamentalmente, l'obiettivo è rappresentare valori numerici che utilizziamo nella vita quotidiana tramite combinazioni di zeri e uni. Qualsiasi numero può essere rappresentato come una combinazione di potenze di due. Ad esempio, il numero 7 può essere rappresentato come 111, ecco la scomposizione:

I valori 0 o 1 non possiedono significato matematico intrinseco; indicano semplicemente lo stato di un bit.

  • 0 – il bit è inattivo;
  • 1 – il bit è attivo.

Il numero 113, in binario, appare come 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; }

È possibile utilizzare anche la funzione sizeof() su un array per determinarne la dimensione:

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

Un array con 10 elementi interi occupa 40 byte, il che significa che ogni singolo elemento utilizza 4 byte. Se si divide la dimensione totale dell'array per la dimensione di uno dei suoi elementi, si ottiene il numero di elementi dell'array:

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

Quale espressione C restituisce il numero di elementi nell’array arr?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 7
some-alt