#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct data{ 
   int data_id; // irgendeine Variable
   int a_size;
   char vals[]; // FAM
}; 

struct data *createData(struct data *s, int id, int a_size, float a[]) { 
    s = malloc( sizeof(*s) + sizeof(float) * a_size); 
    s->data_id = id;
    s->a_size = a_size;
    memcpy(s->vals, a, sizeof(float) * a_size); 
    return s; 
} 

void printData(struct data *s){ 
    printf("Data_id : %d\n", s->data_id);
    int i;
    for ( i=0 ; i<s->a_size ; i++){
    	printf("%f, ",s->vals[i]);
    }
    printf("\n");
} 


int main(void) {
	float A[] = {1.0, 7.5, 9.3};
	float B[] = {2.0, 2.8, 3.0, 5.5};
	struct data *s1 = createData(s1, 523, 3, A);
	struct data *s2 = createData(s2, 206, 4, B);
	printData(s1);
	printData(s2);
	return 0;
}
