Alguem pode me ajudar como que passo um vetor de struct por referencia em uma função?
#include <stdio.h>
#include <stdlib.h>
typedef struct { /*estrutura a ser gravada no arquivo */
int n;
} numeros;
int main() {
numeros v[10];
preenche_vetor_struct(v, 10);
imprime_vetor_struct(v, 10);
system("pause");
return 0;
}
void preenche_vetor_struct(numeros *v, int tam) {
int i;
for (i = 0; i < tam; i++)
v[i].n = i;
}
void imprime_vetor_struct(numeros *v, int tam) {
int i;
for (i = 0; i < tam; i++)
printf("%d ", v[i].n);
}
Para a resolução desse problema foi necessário conhecimentos em algoritmos básicos e linguagem C.
Logo abaixo vemos um exemplo de como passar um vetor de struct por referência:
#include <stdio.h>
typedef struct
{
char modelo[30];
float potenciaMotor;
int anoFabricacao,
numPortas;
}CARRO;
void Exibe(CARRO car)
{
printf("\n\tExibindo carro\n");
printf("Modelo: %s\n", car.modelo);
printf("Motor: %.1f\n", car.potenciaMotor);
printf("Ano: %dn", car.anoFabricacao);
printf("%d portas\n", car.numPortas);
}
void Preenche(CARRO *car)
{
printf("Modelo do carro: ");
gets( car->modelo );
printf("Motor: ");
scanf("%f", &car->potenciaMotor);
printf("Ano: ");
scanf("%d", &car->anoFabricacao);
printf("Numero de portas: ");
scanf("%d", &car->numPortas);
}
int main(void)
{
CARRO fusca;
Preenche(&fusca);
Exibe(fusca);
return 0;
}
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar