Você está na página 1de 3

Exercícios Cap.

8
Nome: Kesiah Araujo Sofia RA: N9391D-0 Turma: DS2R48
1. Declare um ponteiro para um número inteiro.
#include <stdio.h>
#include <conio.h>
main(){
int y, *pt;
y=2;
pt=&y;
printf("Para Y=2:\n");
printf("\ny=%d",*pt);
}
2. Direcione o endereço de um número real para um ponteiro, e faça que o ponteiro
mostre o valor da variável indiretamente.

#include <stdio.h>
#include <conio.h>
main(){
int y, *pt;
y=2;
pt=&y;
printf("Para Y=2:\n");
printf("y=%d",y);
printf("\ny=%d",*pt);
printf("\n pt=%p",pt);
printf("\n pt=%p",&y);
}
3. Qual é a saída do seguinte trecho de código C?
int contador = 10, *temp, soma = 0;
temp = &count; *temp = 20;
temp = &soma;
*temp = contador;
printf(“contador = %d, *temp = %d, soma = %d\n”, contador, *temp, soma);

contador = 10, *temp = 10, soma = 10


4. Declare um ponteiro para a string “FATEC”, chamada escola.

#include <stdio.h>
#include <conio.h>
main(){
char escola, *pt;
escola="FATEC";
pt=&escola;
printf("escola=%s",escola);
printf("\nescola=%s",*pt);
printf("\n pt=%p",pt);
printf("\n pt=%p",&escola);
}
5. Considere as seguintes definições e inicializações:
char c = ‘T’, d = ‘S’;
char *p1 = &c;
char *p2 = &d; char *p3;
Considere, ainda, que o endereço de c é 1024, que o endereço de d é 2048, e que, por
fim, o endereço de e é 256.
O que será mostrado na tela quando o código a seguir for executado em sequência?
p3 = &d;
printf( ) de *p3?
p3 = p1;
printf( ) de *p3?
*p1 = *p2;
printf( ) de *p1?

6422023
1024
2048

6. Considere as seguintes definições:


int *p;
int i;
int k;
i = 42;
k = i;
p = &i;
Após sua execução, qual das seguintes alternativas mudará o valor de i para 75?
k = 75;
*k = 75;
p = 75;
*p = 75;
Duas ou mais das alternativas fazem essa mudança.

k=75 e *p=75
7. Considere o vetor int x[5] = {0, 1, 2, 3, 4}. Quais serão os valores de x após a
chamada troca (x+1, x+4)?
void troca(int *pa, int *pb) {
int t;
t=*pa;
*pa=*pb;
*pb=t;
}

1, 2, 3
6422589

8. Quando passamos um vetor para uma função em C, esta alocará um ponteiro


para o elemento zero do vetor. Por que a Linguagem C simplesmente não cria uma nova
cópia local do vetor, como faz com os números inteiros?

Para passar um vetor para uma função usando linguagem C utiliza-se um ponteiro
como parâmetro da função. Ao usarmos o ponteiro como parâmetro, na realidade
estamos passando o endereço inicial do vetor e não os seus elementos.

Você também pode gostar