Você está na página 1de 5

Programação II

Ponteiros – Vetores e Strings


Prof: Sergio Hermenegildo
FEMASS
Ponteiros – Vetores e Strings
Até agora vimos a utilização de ponteiros para tipo de
dados convencionais.

Veremos então quão simples é fazer o ponteiramento


para vetores.
Para tal, basta sabermos que:
nome_da_variável[índice]

é o mesmo que
*(nome_da_variável+índice)

e que o ponteiro de um vetor aponta pro seu índice[0]

Não falei que era simples...

2 Programação II - Prof. Sergio Hermenegildo


Ponteiros – Vetores e Strings
Exemplo
Vejamos como funciona...
#include <stdio.h>
void main (void)
{
int matrix [10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int *p;
p=matrix;
printf ("O terceiro elemento do vetor e: %d",p[2]);
printf ("\nO terceiro elemento do vetor via ponteiro e: %d",*(p+2));
}

Neste exemplo, utilizamos p recebendo o endereço de


matrix[0] (poderíamos ter escrito assim também).
E, como dito, ao invés do índice, faremos a adição ao
ponteiro, que, internamente, fará com que ele aponte para
o endereço do índice indicado.
3 Programação II - Prof. Sergio Hermenegildo
Ponteiros – Vetores e Strings
Tendo em vista que uma string é um vetor de caracteres,
tudo funciona de forma igual, aonde só precisamos saber que:

A string acaba com \0 e podemos verificar com ==‘\0’ ou com


while(*p)
Podemos fazer uma inicialização de string via char *ptr =
“Ola Mundo”
 void main() {
 char str[80], *p;

printf("digite uma string em letra maiuscula: ");
 gets(str);
 printf("aqui esta a string em letra minuscula: ");
 p = str; /* obtém o endereço de str*/
 while (*p)
 printf("%c", tolower(*p++));//desta forma não precisamos do i
 }

4 Programação II - Prof. Sergio Hermenegildo


Ponteiros: Exercícios

1. Crie uma função que receba um vetor de 10 números já


preenchidos e os imprima em ordem reversa. (basta chamar
a função passando apenas o nome do vetor sem [])

2. Crie uma função que receba um vetor de 10 números já


preenchidos, calcule e informe a média

3. Obtenha uma string e informe a quantidade de caracteres


‘a’ existentes.

4. Crie uma função que receba uma string já preenchida e um


caracter, e imprima a string desde o caracter encontrado

5 Programação II - Prof. Sergio Hermenegildo

Você também pode gostar