AnyCompiler

Structs

Um struct agrupa campos relacionados sob um tipo nomeado. Diferente de uma class em Java, C++, ou qualquer outra linguagem deste site, um struct não tem methods, não tem constructors, e não tem controle de acesso — é puramente uma forma de agrupar dados juntos, e todo campo é diretamente acessível.

#include <stdio.h>

struct Point {
    int x;
    int y;
};

int main() {
    struct Point p = {3, 4};
    printf("%d %d\n", p.x, p.y);
    return 0;
}
Output
3 4

A seguir: memória dinâmica — malloc, free, e o heap: o mecanismo que o garbage collector de cada outra linguagem existe para automatizar.

Practice exercise

Defina um struct Book com os campos title (um array de char de tamanho 50) e pages (int). Crie um Book com title "Dune" e pages 412, depois imprima ambos com printf.