#include #include struct Vector { double * const data; const size_t dim; }; int main(void) { struct Vector x = { malloc(4 * sizeof(x.data)), // allocate memory for 4 double 4, // dim is hard coded to 4 }; // check if memory could be allocated if (!x.data) { fprintf(stderr, "allocating memoy for vector with %zu elemets failed\n", x.dim); exit(1); } // init vector elements for (size_t i = 0; i < x.dim; ++i) { x.data[i] = 42 + i; }; // print vector elements for (size_t i = 0; i < x.dim; ++i) { printf("%lf", x.data[i]); if (i + 1 < x.dim) { printf(", "); } }; printf("\n"); // release memory free(x.data); }