Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Sizeof | Dados
Fundamentos de C
course content

Conteúdo do Curso

Fundamentos de C

Fundamentos de C

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

bookSizeof

Tamanho dos Dados

A função sizeof() é um elemento básico 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 diferentes compiladores 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 usa. Cada byte consiste em oito bits.

Foi decidido coletivamente pelos engenheiros equiparar um byte a 8 bits porque essa configuração representa convenientemente números decimais.

Você provavelmente já ouviu falar do sistema de numeração binária, que forma a base das operações de computador.

Em essência, o objetivo é representar valores numéricos que usamos em nosso dia a dia usando 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 têm 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":

Tipos de Dados

O que distingue diferentes tipos de dados? – Seu 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 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, 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