Você está na página 1de 6

ESTRUTURA DE DADOS I

Aula 5 e 6
Ponteiros para Structs

Prof. Me. Anderson Luis Schvindt Bittencourt


1
Ponteiros para Structs
Estrutura (struct) é uma coleção de uma ou mais
variáveis, possivelmente de tipos diferentes, que
podem ser manipuladas em separado ou em
conjunto.

 1) Declaração de uma estrutura. Existem 3


formas:

struct
{
int matricula;
char nomeEmpregado[50];
char cpf[14];
double salario;
} empregado1, empregado2; 2
Ponteiros para Structs
• 2) Declaração de uma estrutura utilizando nome.
struct dadosEmpregado
{
int matricula;
char nomeEmpregado[50];
char cpf[14];
double salario;
};
struct dadosEmpregado empregado1, empregado2;

• 3) Declaração de uma estrutura utilizando typedef.


typedef struct
{
int matricula;
char nomeEmpregado[50];
char cpf[14];
double salario;
} TIPO_EMPREGADO ; 3
TIPO_EMPREGADO empregado1, empregado2;
Ponteiros para Structs
• Acessando os dados de uma estrutura. Exemplos:
#include <conio.h>
#include <stdio.h>

struct dadosEmpregado
{
int matricula;
char nomeEmpregado[50];
char cpf[14];
double salario;
};
struct dadosEmpregado empregado1, empregado2;

main ( )
{
printf ("Digite o nome : ");
gets (empregado1.nomeEmpregado); //lê a string
fflush (stdin); //limpa o buffer de teclado
printf("\nDigite o identificador da pessoa : ");
scanf("%d", &empregado1.matricula);
fflush(stdin);
printf("\nDigite o CPF : ");
gets(empregado1.cpf);
system("pause"); 4
}
Ponteiros para Structs
Declaração de um ponteiro para uma estrutura:
struct NOME_ESTRUTURA *NOME_PONTEIRO;

Exemplo:
struct dadosEmpregado *ponteiroStruct;
TIPO_EMPREGADO *ponteiro2Struct;

Apontando e referenciando uma estrutura pelo ponteiro:


Apontando:
struct pessoa *ponteiroEstruturaPessoa;
ponteiroEstruturaPessoa = &informacaoPessoa;

Referenciando:
ponteiroEstruturaPessoa -> identificador;

Usa-se o próprio ponteiro e uma seta (->) para


indicar o membro. 5
Ponteiros para Structs
• Declarando um ponteiro em uma estrutura:
 A declaração de um ponteiro na estrutura é feito da
mesma forma que a declaração fora dela. Exemplo:
struct exemplo
{
int *ponteiroInteiro;
char *ponteiroChar;
float *ponteiroFloat;
};
struct exemplo infoExemplo;

 Apontamento:
int i =5;
infoExemplo.ponteiroInteiro = &i;

 Referência: 6
printf(“Valor referenciado = %d", infoExemplo.ponteiroInteiro);

Você também pode gostar