Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Lab. de Algoritmos e Estruturas de Dados 2
Lista de Exercícios 1 – Ponteiros
Daniel Rezende Fonseca
1) a) Este operador ”&“ serve para recolher o endereço onde uma variável está
situada na memoria
Este operador “*” serve para ir ate o endereço podendo alterar o valor contido
no mesmo e também serve para declarar um ponteiro.
b) p++ = Este comando está incrementando mais 1 no endereço contido no
ponteiro p.
(*p)++ = Este comando irá incrementar na variável da qual o ponteiro está
apontando( Guardando o endereço da variável).
*(p++) = Este comando incrementa mais 1 no endereço contido no ponteiro e após
incrementar, já acessa o novo local no qual o endereço está apontando.
2) X – 25 Y – 50,
X – 14 Y – 51,
Não é possível, pois “pt” carrega o endereço das variáveis e o endereço é dinâmico,
portanto é necessário executar o programa para saber qual o endereço na hora
daquela execução.
3) Na passagem por valor, como o próprio nome diz, uma expressão pode ser
utilizada na chamada. O valor da expressão é calculado, e o valor resultante é
passado para a execução da função.
Na passagem por referência, o endereço de uma variável deve ser passado na
chamada da função. Dessa forma, a função pode modificar a variável diretamente,
o que em geral não é recomendável, mas há situações onde esse recurso é
necessário, por exemplo, para a criação de funções que devolvem mais de um
valor.
4)
5) #include<stdio.h>
void copia (char *pt1 ,char *pt2){
while (*pt2){
*pt1t = *pt2;
pt2 ++;
pt1++;
}
*pt1='\0';
}
6) #include<stdio.h>
void concatena (char *pt1, char *pt2){
while (*pt1){
pt1++ ;
}
while(*pt2){
*pt1 = *pt2;
pt1++;
pt2++;
}
*pt1 = '\0';
}
7)
8) A alocação dinâmica é o processo que aloca memória em tempo de execução. Ela é
utilizada quando não se sabe ao certo quanto de memória será necessário para o
armazenamento das informações. A vantagem de utilizar a alocação dinâmica é de
não precisar prever o tamanho de espaço que você irá utilizar. Existem funções para
auxiliar esta alocação como por exemplo :
Malloc
Calloc
Realloc
Free
9) Este programa pede ao usuário que digite o numero de linha e coluna, e após digitado os
valores possuem dois malloc’s onde alocam a memoria do mesmo tamanho que a linha e
coluna digitado anteriormente e fechando o programa possuem dois free’s onde é
desalocado toda memória alocada anteriormente.