Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Paulista (UNIP) Campi: Norte Disciplina: Estrutura de Dados Lista de exercícios para fixação ( Aula 3 ) Prof. MSc. Vladimir Camelo São Paulo, 2017 � Exercício de Fixação Exemplo utilizando passagem de parâmetro por Valor: #include <stdio.h> #include <conio.h> int soma (int x1, int x2) { x1+= x2; return x1; } void main (void) { int v1, v2; printf("Digite um número, aperte ENTER e digite outro numero\n"); scanf("%d %d",&v1,&v2); printf("%d",soma(v2,v1)); system("PAUSE"); } Exemplo utilizando passagem de parâmetro por Referência: #include <stdio.h> #include <conio.h> void troca(int *x, int *y){ int aux; aux=*x; *x=*y; *y=aux; } void main(void) { int a=10,b=20; troca(&a,&b); printf("%d %d",a,b); system("PAUSE"); } OBSERVAÇÃO: Caso queira verificar se esta sendo realizada a passagem de parâmetro por referência no programa apresentado como exemplo acima, retire o asterisco das variáveis e execute novamente o programa e note o valor apresentado e compare com a execução anterior. Crie um programa que solicite o preenchimento de um vetor de char de N posições (N é digitado pelo usuário). Após o preenchimento, utilizando um ponteiro, mostrar o valor de cada posição do vetor; Criar uma variável (x) do tipo int e armazenar o número informado pelo usuário. Em seguida, crie um ponteiro (c) para int e receba o endereço de x. Altere a variável x, utilizando o ponteiro c. Imprimir, ao final, a variável x, bem como seu endereço de memória. Explique o que é e para que serve um ponteiro no contexto da programação estruturada. Explique ainda por que linguagens como Java e outras não fazem mais uso de ponteiros. Explique o que é um ponteiro e como funciona a utilização deste em um programa. Qual objetivo da alocação dinâmica de memória no desenvolvimento de sistemas? Assinale qual das instruções apresentadas abaixo corresponde a declaração correta de um ponteiro? int _ptr x; int *ptr; *int ptr; *x; Nenhuma das anteriores Ao se utilizar um vetor como parâmetro para uma função que informação está sendo passada à função? Uma cópia de todos os elementos do vetor. Uma cópia do primeiro elemento do vetor. O endereço do primeiro elemento do vetor. O endereço de todos os elementos do vetor. Nenhuma das opções anteriores. Na expressão float *pont, o que é do tipo float? A variável pont O endereço de pont A variável apontada por pont O endereço da variável apontada por pont Nenhuma das anteriores. Seja a seguinte seqüência de instruções em um programa C: int *pti; int i = 10; pti = &i; Qual afirmativa é falsa? pti armazena o endereço de i *pti é igual a 10 ao se executar *pti = 20; i passará a ter o valor 20 ao se alterar o valor de i, *pti será modificado pti é igual a 10 Nenhuma das anteiores Considerando as variáveis e ponteiros definidos abaixo; quais são as atribuições permitidas? int x, *ptx, **pp; float a, *pta, **pf; x = 100; *pta = &a; ptx = &a; *pf = &a; pp = &pta; **pf = 7.9; *ptx = 20; ptx = &x; pp = &x; pf = &pta;
Compartilhar