Ir ao conteúdo
  • Cadastre-se
Diego Laure

C Imprimir vetor utilizando ponteiro

Recommended Posts

void imprime_vetor()
{
	int vetor1[10], i, *p, soma = 0;
	float media;
	
	srand(time(NULL));
	p = &vetor1;
	
	for(i=0; i<10; i++){
		vetor1[i]=5+ (rand() % 95);
		soma = soma + vetor1[i];	
	}
	media = soma / 10.0;
	
	printf("\nmedia do vetor = %.2f\n\n", media);
	printf("Numeros do vetor: \n");
	for(i=0; i<10; i++){
		printf("%d ", *p);
		p++;
	}
	
}

 

Pois então, aparece o codigo de erro " [Warning] assignment from incompatible pointer type", e o erro acusa no codigo abaixo.

p = &vetor1;

Alguem poderia me dizer qual o erro burro que cometi?

 

Informações adicionais:


Exercicio sobre preencher um vetor com numeros aleatórios entre 5 e 100, e imprimir na tela usando ponteiro.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O nome do vetor sem os colchetes já é uma referência, logo correto seria sem o &:

p = vetor1;

(O que também significa que quando você chama uma função passando um vetor como parâmetro está passando uma referência para o vetor.)

 

Ou também poderia fazer assim para referenciar a primeira posição do vetor:

p = &vetor1[0];

Que resultaria no mesmo.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas São sim, você pode verificar isso com um teste simples:

#include <stdio.h>

int main()
{
    int vetor[3] = {0}, *p;
    
    p = vetor;
    p++;
    p++;
    
    if (p == &vetor[2])
        printf("Verdadeiro\n");
    else
        printf("Falso\n");

    return 0;
}

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×