Esta atividade não compõe a nota bimestral.
A lista deve preferencialmente ser desenvolvida individualmente.
Não é necessário a entrega da lista.
Faça um paralelo sobre o conceito de ponteiros e os vetores (estáticos);
Explique porquê os ponteiros ajudam o desenvolvimento de aplicações que otimizam o espaço da memória;
Suponha que v é um vetor. Descreva o porquê existe uma diferença entre escrever v[3] e v + 3;
Analise o código abaixo e determine o valor das variáveis ao final da execução.
int i=34,j;
int *p;
p = &i;
*P++;
j = *p + 33;
Analise o código abaixo e determine o valor das variáveis ao final da execução.
int i=7, j=5;
int *p;
int **q;
p = &i;
q = &p;
c = **q + j;
Analise o código abaixo e determine o valor das variáveis ao final da execução.
int a=5, b=12, c=5;
int *p;
int *q;
p = &a;
q = &b;
(*p)++;
c = *p + *q;
Explique o programa abaixo. Encontre o erro, corrija-o para que o mesmo escreva o número 10 na tela.
#include <stdio.h>
int main( void ) {
int x, *p, **q;
p = &x;
q = &p;
x = 10;
printf(“%d\\n”, &q);
}
Declare um vetor de 10 posições do tipo int, inicialize um ponteiro para a posição inicial do vetor, faça o ponteiro percorrer o vetor preenchendo estas posições com valores quaisquer lidos do teclado e depois imprima os 10 valores de trás para frentes, novamente a partir do vetor;
Escreva uma função que encontre o maior elemento em um vetor de inteiros usando ponteiros. A função deve retornar o valor do maior elemento encontrado.
Escreva uma função que receba dois vetores de inteiros e seus tamanhos como parâmetros, e calcule a soma desses vetores elemento por elemento usando ponteiros. A função deve armazenar o resultado em um terceiro vetor.
Escreva uma função que receba um vetor de inteiros e seu tamanho como parâmetros e inverta a ordem dos elementos do vetor usando ponteiros. A função deve modificar o vetor original.
Escreva uma função que receba dois vetores de inteiros e seus tamanhos como parâmetros, e copie o conteúdo de um vetor para o outro usando ponteiros. A função deve criar uma cópia exata do vetor original.
Crie uma função que copia um vetor de caracteres para outro vetor (cria uma cópia). O protótipo da função deve ser: char *strcopy(char *str, int tamanho);