#include #include #include #define NMAX 12 struct va { int n; int nmax; int data[NMAX]; }; void create_array(struct va *va) { va->n = 0; va->nmax = NMAX; } void init_array(struct va *va, int n, int *src) { if(n > va->nmax) return; va->n = n; memcpy(va->data, src, n*sizeof(int)); } int main(int argc, char *argv[]) { struct va va; int t[5] = {1,2,3,4,5}; int i; create_array(&va); init_array(&va, 5, t); for(i = 0; i < va.n; ++i) { printf("%d\n", va.data[i]); } }