Post

Registros

Registros

Um Registro, ou estrutura, permite que várias variáveis sejam armazenadas dentro de um objeto, facilitando relacionar diferentes variáveis. Isso pode ser feito a partir do método struct, que funciona na seguinte sintaxe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <string.h>

// define classe documento
struct documento{
    char nome[128];
    char cpf[128];
    int idade;
    float peso;
};

int main(){
    // define o objetos a,b
    struct documento a, b;
    strcpy(a.nome, "Tobias");
    strcpy(a.cpf, "111.222.333/44");
    a.idade=28;
    a.peso=67.9;

    printf("A idade de %s é %d",a.nome,a.idade);

    return 0;
}

Typedef

O comando typedef permite definir novos tipos de variáveis, como por exemplo: int, float, double. Ele pode ser utilizado para simplificar a sintaxe na definição de objetos de uma classe. Por exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <string.h>

// define classe documento
struct documento{
    char nome[128];
    char cpf[128];
    int idade;
    float peso;
};

// define um tipo para a classe
typedef struct documento doc;

int main(){
    // struct documento a, b = doc a,b
    doc a,b;
    strcpy(a.nome, "Tobias");
    strcpy(a.cpf, "111.222.333/44");
    a.idade=28;
    a.peso=67.9;

    printf("A idade de %s é %d",a.nome,a.idade);

    return 0;
}

Enum

Similarmente ao typedef, o método enum gera um novo tipo, porém agora listado de acordo com a ordem das entradas, numerado. Isto pode ser observado no exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

enum meses {jan, fev, mar, abr, mai, jun, jul, ago, set, out, nov, dez};

int main(){
    enum meses a,b;
    a = jan;
    b = jun;

    if (a!=b){
        printf("%d é diferente de %d",a,b);
    }
    //-> Será printado '0 é diferente de 5'

    return 0;
}

This post is licensed under CC BY 4.0 by the author.