Exercícios Ponteiros
Exercícios Ponteiros
Exercícios Ponteiros
.h> int main( ){ int t, i, M[3][4]; for (t=0; t<3; ++t) for (i=0; i<4; ++i) M[t][i] = (t*4)+i+1; for (t=0; t<3; ++t) { for (i=0; i<4; ++i) printf ("%3d ", M[t][i]); printf ("\n"); } system (pause); return(0); } #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(){ int a=5, b=6, c=7; int v[10] = {0,10,20,30,40,50,60,70,80,90}; int *pt1, *pt2, *pt3; pt1 = &a; pt2 = &b; pt3 = &c; pt1 = pt3; pt2 = pt3; *pt1 = *pt2 + *pt3; pt1 = &v[3]; for (int k=0; k<3; k++) { *pt1 = *pt1+1000; pt1 = pt1 + 2; }}
1) O que imprime o programa a seguir? Tente entend-lo e responder. A seguir, execute-o e comprove o resultado.
4) Qual o valor de y no final do programa? Tente primeiro descobrir e depois verifique no computador o resultado. A seguir, escreva um /* comentrio */ em cada comando de atribuio explicando o que ele faz e o valor da varivel esquerda do '=' aps sua execuo. #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { int y, *p, x; y = 0; p = &y; x = *p; x = 4; (*p)++; x; (*p) += x; printf ("y = %d\n", y); system ("pause"); return(0); }
int main() { int y, *p, x; y = 0; // Atribui zero a varivel y p = &y; // atribui ao ponteiro p o endereo de y (neste momento y e *p = 0) cout << "*P= "<< *p << " \n"; cout << "P= "<< p << " \n"; x = *p; // atribui o contedo do apontado de p para x (neste momento y, p e x = 0) cout << "Y= " << y; cout << "x = " << x << " \n"; x = 4; // atribui o valor 4 a x (neste momento y, *p = 0 e x = 4) (*p)++; // incrementa o contedo do ponteiro *p (neste momento y = 0, p = 1 e x = 4) cout << "*P = " << *p << " \n"; x; // no faz nada (*p) += x; // somado o valor de x ao contedo do apontado de p (*p) (neste momento y e p =5, e x = 4) (o //contedo do apontado de p o que est armazenado em y, pois p est apontando para o endereo de y) cout << "*P = " << *p << " \n"; cout << "x = " << x << " \n"; cout << "Y= " << y; // imprime o y que igual a 5 system ("pause"); return(0); } 5) Faa um programa que receba dois valores que sero armazenados em ponteiros, depois numa subrotina troque os contedos dos endereos apontados pelas variveis.