Вы можете динамически распределить его, используя указатель, подобный этому:
NSUInteger *theIndexBuffer = (NSUInteger *)calloc(picturesArray.count, sizeof(NSUInteger));
// Use your array however you were going to use it before
free(theIndexBuffer); // make sure you free the allocation
В C, даже если это динамически размещаемый буфер, вы можете использовать операторы индексов массива и (по большей части) делать вид, что это просто массив. Итак, если вы хотите получить третий элемент, вы можете написать:
NSUInteger thirdElement = theIndexBuffer[2]; // arrays are 0-indexed
Только не забудьте освободить его, когда закончите.