Tipos de dados em C

Quando escrevemos um programa em C ou C++, por serem linguagens fortemente tipadas é necessário ter uma noção de quanto espaço cada tipo de dado pode ocupar, assim podemos ter uma noção para melhorar a eficiência do código.

Utilizando o programa abaixo, é possível conferir na máquina em que ele será compilado o tamanho de cada tipo de dado do C (bem como seus valores mínimos e máximos).

#include <stdio.h> // biblioteca de entrada e saida padrao
#include <limits.h> // biblioteca que contem os macros (definidos pelo fabricante do compilador) com os valores maximos e minimos suportados pelo mesmo

int main(int argc, char *argv[])
{
    // total de bits do processador em que o programa foi compilado
    char totalBits = sizeof(int) * 8; // geralmente o tamanho do tipo inteiro eh igual a quantidade de bits de processamento do processador
    printf("\n\nMaquina de %d bits\n\n", totalBits);

    printf("Tipo em C\t\tTamanho\t\t\tValores\n");
    printf("=======================================================\n");

    // caracteres
    printf("char\t\t\t%d bytes (%d bits)\tsigned (%d a %d) unsigned (0 a %d)\n", sizeof(char),  sizeof(char) * 8, SCHAR_MIN, SCHAR_MAX, UCHAR_MAX);

    // valores inteiros
    printf("int\t\t\t%d bytes (%d bits)\tsigned (%d a %d) unsigned (0 a 0x%X)\n", sizeof(int), sizeof(int) * 8, INT_MIN, INT_MAX, UINT_MAX);
    printf("short int\t\t%d bytes (%d bits)\tsigned (%d a %d) unsigned (0 a %d)\n", sizeof(short int),  sizeof(short int) * 8, SHRT_MIN, SHRT_MAX, USHRT_MAX);
    printf("long int\t\t%d bytes (%d bits)\tsigned (%d a %d) unsigned (0 a 0x%X)\n", sizeof(long int),  sizeof(long int) * 8, LONG_MIN, LONG_MAX, ULONG_MAX);

    // numeros em ponto flutuante
    printf("float\t\t\t%d bytes (%d bits)\n", sizeof(float), sizeof(float) * 8);
    printf("double\t\t\t%d bytes (%d bits)\n", sizeof(double), sizeof(double) * 8);

    system("PAUSE");

    return 0;
}

Saber os tipos de dados e tamanhos pode servir por exemplo para se descobrir qual o menor tipo de dados na máquina utilizada  ou a diferença entre dois tipos facilitando assim a escrita de um código mais otimizado.

Possui alguma dica interessante? Não deixe de compartilhar.

Share/Save/Bookmark

2 comentários January 5th, 2009

Tutorial sobre como desenvolver um Tetris em C++ e SDL

tetris_tutorial_c

O blog  Game tutorials made easy recentemente postou um tutorial sobre como desenvolver um tetris utilizando C++ e a biblioteca SDL.

O tutorial é bem completo, explicando passo-a-passo a lógica utilizada e muito bem ilustrado.

Apesar de não ser desenvolvido com a biblioteca Allegro ele pode ser facilmente adaptado para outras tecnologias pois o tutorial é bem focado na lógica.

Conhece mais algum tutorial interessante?

Share/Save/Bookmark

Adicionar comentário December 23rd, 2008

Tutorial de trigonometria em breve

Em breve será postado o novo tutorial de trigonometria com aplicações para jogos eletrônicos.

O foco do novo tutorial está nos exemplos e passou por uma reescrita total (para corrigir todos os erros anteriores e explicar melhor alguns temas).

Ele será dividido em partes para ser mais fácil a leitura e impressão.

Até breve.

Share/Save/Bookmark

Adicionar comentário December 5th, 2008



Página 1 de 41234»


Novidades e Atualizações

Categorias

Posts Recentes

Tags

Veja Também

Comentários Recentes

Parceiros

Links