Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Sizeof | Dados
Noções Básicas de C
course content

Conteúdo do Curso

Noções Básicas de C

Noções Básicas de C

1. Introdução
2. Dados
3. Operadores
4. Instruções de controle
5. Funções
6. Ponteiros

bookSizeof

Tamanho de dados

A função sizeof() é fundamental na programação em C. Ela ajuda a determinar o tamanho (em bytes) do objeto ou tipo especificado.

Por exemplo, vamos ver quantos bytes o tipo de dado int ocupa:

c

main

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.

Nota

Tenha em mente 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 que um computador utiliza. Cada byte é composto de oito bits.

Foi decidido coletivamente pelos engenheiros que um byte equivale a 8 bits, pois essa configuração representa convenientemente os números decimais.

Você provavelmente já ouviu falar do sistema numérico binário, que constitui a base das operações de computadores.

A essência consiste em representar valores numéricos que usamos no nosso dia a dia por meio de 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 por "111", e aqui está a explicação:

Os valores 0 ou 1 não têm, por si só, significado matemático; 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, é representado como "01110001":

Tipos de dados

O que distingue os diferentes tipos de dados? – O tamanho em bytes!

c

Main

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)); // double is like float, but better return 0; }

Você pode utilizar a função sizeof() em um array para determinar o seu tamanho:

c

main

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, o que significa que cada elemento individual consome 4 bytes. Se você dividir o tamanho total do array pelo tamanho de um de seus elementos, você determinará a contagem de elementos do array:

c

main

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 }; int sizeOfArray = sizeof(data) / sizeof(int); // or sizeof(data) / sizeof(data[0]); printf("Elements in an array: %d\n", sizeOfArray); return 0; }
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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