I have an array of pointers to a struct called p.

Code:
typedef struct node
	{
		int exp;
		float koef;
		struct node *next;
	} monomial;

monomial *p[5];
Some of the pointers are NULL some aren't and have value. I would like to have an array q which has the exact same values as p does, but not in a way that q[i] points to the same memory location as p[i]. I want q[i]->koef and q[i]->exp to have the same value as p[i]->koef and p[i]->exp but not to be in the same memory space.

I hope you understand me