Dynamic allocation of cuda arrays

Hi everybody,

I am writing a code which initialize an array of size 16 (fr example). using a kernel.
int size=initSize *sizeof(int);

cudaMalloc((void**) &dA, size);

makeArray<<<blksPerGrid,threadPerBlk>>>(dA,initSize);
int arrIndex=initSize;

after that I want to insert another sosme item at the end of the array.
how should I do that?

int newItem=26;
enArray<<<1,1>>>(newItem,dA,arrIndex);

and later I want to add multiple elements at once using multithread kerne.
Thank you
Mary