Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Compreendendo o Operador sizeof | Tipos de Dados e Variáveis
Fundamentos de C

bookCompreendendo o Operador sizeof

A função sizeof() é fundamental na programação em C. Ela auxilia a determinar o tamanho (em bytes) do objeto ou tipo especificado. Por exemplo, vejamos quantos bytes o tipo de dado int ocupa:

main.c

main.c

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

O tipo de dado int ocupa 4 bytes.

Note
Nota

Lembre-se de que compiladores diferentes podem alocar tamanhos de bytes variados para o mesmo tipo de dado.

Bits

Um bit é a unidade mais básica de dados utilizada por um computador. Cada byte é composto por oito bits.

Foi decidido coletivamente por engenheiros que um byte equivale a 8 bits porque essa configuração representa convenientemente números decimais. Provavelmente você já ouviu falar do sistema de numeração binária, que é a base das operações computacionais.

Em essência, o objetivo é representar valores numéricos que usamos em nosso cotidiano utilizando combinações de zeros e uns. Qualquer número pode ser representado como uma combinação de potências de dois. Por exemplo, o número 7 pode ser representado como 111, e aqui está a explicação:

Os valores 0 ou 1 não possuem significado matemático inerente; eles apenas indicam o estado de um bit.

  • 0 – o bit está inativo;
  • 1 – o bit está ativo.

O número 113, em binário, aparece como 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; }

Você também pode usar a função sizeof() em um array para determinar seu tamanho:

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

Um array com 10 elementos inteiros ocupa 40 bytes, ou seja, cada elemento individual consome 4 bytes. Se você dividir o tamanho total do array pelo tamanho de um de seus elementos, determinará a quantidade de elementos do 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

Qual expressão em C retorna o número de elementos no array arr?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

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

bookCompreendendo o Operador sizeof

Deslize para mostrar o menu

A função sizeof() é fundamental na programação em C. Ela auxilia a determinar o tamanho (em bytes) do objeto ou tipo especificado. Por exemplo, vejamos quantos bytes o tipo de dado int ocupa:

main.c

main.c

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

O tipo de dado int ocupa 4 bytes.

Note
Nota

Lembre-se de que compiladores diferentes podem alocar tamanhos de bytes variados para o mesmo tipo de dado.

Bits

Um bit é a unidade mais básica de dados utilizada por um computador. Cada byte é composto por oito bits.

Foi decidido coletivamente por engenheiros que um byte equivale a 8 bits porque essa configuração representa convenientemente números decimais. Provavelmente você já ouviu falar do sistema de numeração binária, que é a base das operações computacionais.

Em essência, o objetivo é representar valores numéricos que usamos em nosso cotidiano utilizando combinações de zeros e uns. Qualquer número pode ser representado como uma combinação de potências de dois. Por exemplo, o número 7 pode ser representado como 111, e aqui está a explicação:

Os valores 0 ou 1 não possuem significado matemático inerente; eles apenas indicam o estado de um bit.

  • 0 – o bit está inativo;
  • 1 – o bit está ativo.

O número 113, em binário, aparece como 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; }

Você também pode usar a função sizeof() em um array para determinar seu tamanho:

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

Um array com 10 elementos inteiros ocupa 40 bytes, ou seja, cada elemento individual consome 4 bytes. Se você dividir o tamanho total do array pelo tamanho de um de seus elementos, determinará a quantidade de elementos do 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

Qual expressão em C retorna o número de elementos no array arr?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 7
some-alt