Você está na página 1de 6

SERVIÇO PÚBLICO FEDERAL

MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ
CAMPUS ALTAMIRA

Estrutura de Dados
PROF A : MSC. VANDERLENE COVRE ROCHA
E-MAIL: VANDERLENE.ROCHA@IFPA.EDU.BR
Ponteiros
Exercício
1. Suponha que precisamos de uma função que troque os valores de duas variáveis inteiras,
digamos i e j. A função:
void troca (int i, int j) {
int temp;
temp = i;
i = j;
j = temp;
}
não produz o efeito desejado, pois recebe apenas os valores das variáveis e não as variáveis
propriamente ditas. A função recebe "cópias" das variáveis e troca os valores dessas cópias,
enquanto as variáveis originais permanecem inalteradas. Para obter o efeito desejado, é preciso
passar à função os endereços das variáveis:
Exercício
Para aplicar essa função às variáveis i void troca (int *p, int *q)
e j basta dizer troca (&i, &j); ou
então: {

int *p, *q; int temp;

p = &i; temp = *p;

q = &j; *p = *q;

troca (p, q); *q = temp;


}
Exercício
1. Escreva um programa que declare um inteiro, um real e um char, e ponteiros para inteiro, real,
e char. Associe as variáveis aos ponteiros (use &). Modifique os valores de cada variável usando
os ponteiros. Imprima os valores das variáveis antes e após a modificação.
2. Escreva um programa que contenha duas variáveis inteiras. Leia essas variáveis do teclado. Em
seguida, compare seus endereços e exiba o conteúdo do maior endereço.
3. Elabore um programa que declare 4 variáveis do tipo inteiro e 4 do tipo ponteiro de inteiro, e
faça com que as variáveis ponteiro apontem para uma d as variáveis inteiro. Utilize o operador
que permita modificar os valores das variáveis inteiras através das variáveis ponteiro e escreva
uma função de troca para trocar os valores apontados pelos 4 ponteiros.
Exercício

Você também pode gostar