Si lo que quieres hacer es declarar un tipo de variable que almacene un vector de n elementos, podrías crear la siguiente estructura:
typedef struct {
int *elementos; // Este puntero apuntará al primer byte del vector
unsigned int n; // Esta variable almacenará cuantas dimensiones tiene el vector
} vectorN;
Entonces, una vez tenemos esa estructura, cuando obtengamos del usuario las dimensiones que quiere para su vector, solamente rellenamos la estructura:
#include <stdlib.h>
#include <stdio.h>
int main() {
vectorN vector = {NULL, 0};
fprintf(stdout
, "Introduzca las dimensiones que quiera para su vector: "); fscanf(stdin
, "%u", &vector.
n); vector.
elementos = calloc(vector.
n, sizeof(int));
return 0; // No olvides liberar la memoria cuando termines!
}
También podrías crear una función que te haga el trabajo:
#include <stdlib.h>
#include <stdio.h>
void init_vectorN(vectorN *vector, unsigned int n);
int main() {
vectorN vecto = {NULL, 0};
unsigned int n;
fprintf(stdout
, "Introduzca las dimensiones que quiera para su vector: "); init_vectorN(&vector, n);
return 0;
}
void init_vectorN(vectorN *vector, unsigned int n) {
vector.n = n;
vector.
elementos = calloc(n
, sizeof(int));}