Material de apoio das aulas de tutoria de Algoritmos e Estrutura de dados da Universidade Federal de Ouro Preto, Campus João Monlevade. O conteúdo abordado é uma revisão sobre structs na linguagem de programação C.
2. Registros em C
Um registro (= record) é um “pacote” de variáveis,
possivelmente de tipos diferentes. Na linguagem C,
registros são conhecidos como structs (o nome é
uma abreviatura de structure.
Fonte: IME USP
3. Sintáxe de um struct
Um struct pode ser declarado de diversas
maneiras. Vamos ver quais são e suas
diferenças.
4. Sintáxe de um struct
struct {
As variáveis são
declaradas aqui dentro.
} nome_da_variável1,
nome_da_variável2, ... ;
struct {
int a;
char b;
float c;
int v[5];
} x;
Declarar a struct desta maneira cria diretamente uma variável para
poder dar acesso aos itens que estão dentro da struct. Observe o
exemplo abaixo:
Declarar o struct sem um nome, não nos
possibilita criar mais variáveis desta struct,
somente as já definidas após o fechamento da
chave. Para este caso, criamos somente uma
variável x, mas poderíamos ter criado mais.
Para acessar as variáveis dentro da struct temos
que utilizar a variável criada da seguinte maneira:
x.a (o operador . (ponto), para o struct é o
operador de acesso e quando fazemos x.a,
estamos acessando a variável int a dentro do
struct.
Portanto para dar valor ao a por
exemplo, fazemos:
x.a=10;
E então, a variável a que está
dentro de x, terá 10.
5. Sintáxe de um struct
struct {
int a;
char b;
float c;
int v[5];
} x;
Uma possível representação visual para uma
struct seria:
x
v[]
b
c
a
6. Sintáxe de um struct
struct {
int a;
char b;
float c;
int v[5];
} x;
Uma possível representação visual para uma
struct seria:
x
10
v[]
b
c
a
Se fizermos:
x.a = 10;
A caixinha de a
receberá o
valor 10!
7. Sintáxe de um struct
struct {
int a;
char b;
float c;
int v[5];
} x;
Uma possível representação visual para uma
struct seria:
x
10
v[]
b
c
a
Se fizermos:
x.v[1] = 5;
A posição 1 da
caixinha de v
(que é um vetor
de 5 posições)
receberá 5.
5
E assim por diante!