Atividade Complementar Ponteiros
Prof. Ricardo Barbosa
RA:_____________________ NOME:_______________________________________________________
RA:_____________________ NOME:_______________________________________________________
RA:_____________________ NOME:_______________________________________________________
RA:_____________________ NOME:_______________________________________________________
Forme grupo de no máximo 4 alunos e responda as questões abaixo relacionadas ao assunto Ponteiros em Linguagem C
1)
2)
3)
4)
5)
6)
7)
Qual o operador que nos permite obter o endereço de uma variável?
Sendo p um ponteiro qual a diferença entre p++; (*p)++; e *(p++)?
O que devemos atribuir a um ponteiro para indicar que ele não aponta para nada?
Sendo p um ponteiro que aponta para x, como saber o valor armazenado por x através do ponteiro p ?
Se p é um ponteiro que aponta para x, qual o valor de *(&p)?
Indique duas formas de se obter o elemento inicial do vetor v ?
Indique V (verdadeiro) ou F (falso)
( ) – Um ponteiro quando criado aponta automaticamente para um lugar
( ) – É correto fazer int a, *p; p = NULL;
( ) – É correto fazer int x; float *p; p = &x;
( ) – O endereço de uma variável que ocupa mais que um byte de memória é o seu menor endereço
( ) – Se p1 aponta para p2 e p2 aponta para p3 e p3 aponta para x que contem o valor 10, o comando printf("%d", ***p1); imprimirá o valor da variável x
( ) – Sendo v um vetor podemos alterar seu endereço inicial realizando v++
( ) – É possível realizar aritmética de ponteiros com p sendo este um ponteiro do tipo void
8) Tome como base o trecho de código abaixo int v[5] = {10, 20, 30, 40, 50}; int *pv; int **ppv;
a) Qual o conjunto de instruções necessárias para que as três variáveis fiquem relacionadas entre si?
b) Represente em um esquema de memória, qual o estado em que ficará a memória depois de executadas as instruções do item (a), supondo que a dimensão de todos os tipos envolvidos é de um byte. Dê