Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRebeca Aranha Pinto Alterado mais de 8 anos atrás
1
Aula Prática 6 Ponteiros Monitoria 2009.2
2
Quando declaramos uma matriz: tipo meuArray[tam]; O compilador aloca a matriz em uma região de memória contínua meuArray na verdade é um ponteiro para a primeira posição da memória que foi alocada. meuArray[10] é equivalente a *(meuArray + 10)
3
Podemos usar ponteiros como se fossem matrizes: int mat[] = { 1, 2, 3 }; int *p = mat; printf(“%d”, p[2]); // imprime 3
4
#include int main() { int mat[50][50]; int i, j; // percorre a matriz com dois loops for (i = 0; i < 50; i++) { for (j = 0; j < 50; j++) { mat[i][j] = 0; } return 0; }
5
#include int main() { int mat[50][50]; int *p = (int *) mat, i; // percorre a matriz com um único loop for (i = 0; i < 2500; i++) { p[i] = 0; } return 0; }
6
Matrizes não podem ser usadas como ponteiros Exemplo: int vetor[10]; int *ponteiro, i; ponteiro = &i; // as operações a seguir são inválidas // ERRADO: vetor não é variável vetor = vetor + 2; // ERRADO: vetor não é variável *vetor = 0; // ERRADO: vetor não é variável vetor = ponteiro; tipo meuArray[]; const tipo * meuArray;
7
#include int main() { char *s = "string"; int a = 1, *p = &a; float f = 2.0f; void *v; v = p; // v aponta para um inteiro a = *((int *) v); v = s; // v aponta para uma string s = (char *) v; v = &f; // v aponta para um float f = *((float *) v); return 0; }
8
Podemos declarar matrizes de ponteiros Exemplos: // vetor de ponteiros int *vetor[10]; // vetor de strings char *strings[] = {"EU", "TU", "ELE" }; // matriz de ponteiros int *matriz[2][2];
9
Guardam o endereço de outro ponteiro Sintaxe: ◦ tipo **nomeDaVariavel; Também podem ser usados como matrizes bidimensionais Podemos criar ponteiros para ponteiros para ponteiros para ponteiros, e assim por diante
10
1) Faça uma função swap no qual você recebe como parâmetros ponteiros. 2) Preencha uma matriz bidimensional de tamanho fixo, utilizando ponteiros. 3)Faça uma função que recebe uma matriz bidimensional e a imprime(usando ponteiro)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.