preciso fazer o seguinte programa
Escreva um programa em C que leia dois vetores cujos tamanhos (possivelmente diferentes) sa o determinados dinamicamente pelo usua rio. Ambos os vetores devem ser passados como para metros para uma funça o que produzira , como resultado, outro vetor contendo todos os nu meros dos dois vetores.
Já fiz toda lógica do programa, ele ta rodando e tudo, mas da algum erro que não consigo achar. Alguem pode me ajudar?
#include <stdio.h>
#include <stdlib.h>
//funcao
void vetoresunion(int *vet, int *vet2, int *n, int *n2){
/*
int *vet3;
n2 = malloc(sizeof(int));
n = malloc(sizeof(int));
vet = malloc(sizeof(int));
vet2 = malloc(sizeof(int));
vet3 =(int *) malloc((*n+*n2) * sizeof(int));
printf("teste");
*/
for(int i = 0; i < (*n+ *n2); i++){
// printf("teste2\n");
if(i<*n){
// printf("teste3\n");
vet3[i] = vet[i];
}
else{
// printf("teste4\n");
vet3[i] = vet2[i-*n];
}
}
for(int i = 0; i <= (*n + *n2); i++){
printf("Posicao %d no vetor: %d", i, vet3[i]);
}
}
int main()
{
int *n, *n2, *vet, *vet2;
n2 = malloc(sizeof(int));
n = malloc(sizeof(int));
printf("Informe o tamanho do primeiro vetor");
scanf("%d", n);
vet = (int *) malloc(*n * sizeof(int));
for(int i=0;i < *n; i++){
printf("Informe o valor da posicao %d do vetor", i);
scanf("%d", &vet[i]);
}
printf("Informe o tamanho do segundo vetor");
scanf("%d", n2);
vet2 = (int *) malloc(*n2 * sizeof(int));
for(int i=0;i < *n2; i++){
printf("Informe o valor da posicao %d do vetor", i);
scanf("%d", &vet[i]);
}
vetoresunion(*vet, *vet2, *n, *n2);
}