Estaba haciendo un ejercicio de vectores y quería separarlo en diferentes funciones.
Una para pedir el tamaño del vector (memoria dinámica), otra para crear el propio vector con los valores introducidos, y otra para mostrar dicho vector.
Mi problema es, que aún no controlo mucho el tema de los punteros y la memoria dinámica, entonces no se como pasar el vector creado en la función de crear_vector, para poder mostrarlo en mostrar_vector. Mi código es este:
Código:
#include <stdio.h>
#include <stdlib.h>
int tamano_vector () ;
int crear_vector ( int a ) ;
void mostrar_vector ( int a , int *n ) ;
int main () {
int tamano = tamano_vector () ;
int n[tamano] ;
*n = crear_vector (tamano) ;
mostrar_vector (tamano , n ) ;
return 0 ;
}
//
//
//
int tamano_vector () {
int dimension ;
printf("\nTamanio del Vector\n");
scanf("%d", &dimension);
return dimension ;
}
//
//
//
int crear_vector ( int a ) {
int *v ;
v = (int*)malloc(sizeof(int)*a) ;
for ( int i = 0 ; i < a ; i++ ) {
printf("\nElemento %i:\t", i+1);
scanf("%i", &v[i]);
}
return *v ;
}
//
//
//
void mostrar_vector ( int a , int *n ) {
printf("\nTu vector es:\n[") ;
for ( int i = 0 ; i < a ; i++ ) {
printf("\t%i", *n) ;
}
printf("]\n");
}