Hello All, I'm new here, and glad to be part of this wonderful and helpful site. I'm trying to allocate a new array (lets say of size 10) inside a struct. I want to do it this way: Code: typedef struct Circle { int *x; int y; int r; } Circle; typedef struct Circle* CircleP; typedef struct Circle Circle; //initialize array of size 10. CircleP allocateMem() { CircleP p=(CircleP) malloc(sizeof(Circle)); p->x=(int*)malloc(sizeof(int) * 10); return p; } int main() { Circle circle; CircleP circleP=&circle; circleP=allocateMem(); int i; for(i=0;ix[i]=i; int j; for(j=0;jx[i]); return 0; } The program do compile, but when I print the array I get 0 as its values. What I'm doing wrong? Thanks