Online C Compiler
Abrir no compilador

Edição didática em português. O código e suas saídas preservam o original.

Características da linguagem C

Conheça funções, tipos, memória e compilação que tornam C útil para programação de sistemas.

Abrir no compilador

Características da linguagem C
Conheça funções, tipos, memória e compilação que tornam C útil para programação de sistemas.

C é uma linguagem procedural: um programa organiza suas operações em funções e combina decisões, laços e estruturas de dados. Os tipos básicos representam caracteres, inteiros e números de ponto flutuante. Arrays agrupam elementos do mesmo tipo e estruturas reúnem campos relacionados.

Um compilador traduz o programa para uma plataforma específica. C costuma precisar de pouco suporte durante a execução, mas isso não garante um tempo constante: o sistema operacional, o cache e as operações realizadas também influenciam. Meça a velocidade com uma carga representativa.

Ponteiros permitem trabalhar com endereços. Essa capacidade exige verificar limites, inicializar dados e respeitar a duração dos objetos. A memória obtida com malloc deve ser liberada com free quando não for mais necessária; C não oferece coleta automática de lixo como parte da linguagem.

Código que segue o padrão é mais fácil de portar. Mesmo assim, o tamanho de alguns tipos, a representação dos dados e as interfaces do sistema podem variar. Use sizeof e os cabeçalhos adequados; não suponha que um ponteiro sempre ocupa oito bytes.

Código C

#include <stdio.h>

int main(void) {
    printf("==============================\n");
    printf("C Language Hardware Inspection\n");
    printf("==============================\n");
    printf("Standard C Version : %ld\n", __STDC_VERSION__);
    printf("Pointer Width      : %zu bytes\n", sizeof(void*));
    printf("Integer Width      : %zu bytes\n", sizeof(int));
    printf("Double Width       : %zu bytes\n", sizeof(double));
    return 0;
}
Abrir no compilador

Saída esperada

==============================
C Language Hardware Inspection
==============================
Standard C Version : 201710
Pointer Width      : 8 bytes
Integer Width      : 4 bytes
Double Width       : 8 bytes

Perguntas frequentes

Por que o código e a saída continuam em inglês?

Palavras-chave, identificadores e textos verificados pelos testes são preservados para não alterar o programa. As explicações e os controles estão traduzidos.