Output int from string input
Since you have main() below the other function, you don't need the prototype for that function.  It's only needed if main() is defined before a function that it calls.
There's no need to declare a variable and then assign to it:


int* intArray;
// ...
intArray = createIntArray(stringNumbers,&amp;arrayLength);



Variables should just be initialized in the closest scope possible.  This will ease maintenance as you won't have to search for the declared variable elsewhere, such as if it's no longer in use.

int* intArray = createIntArray(stringNumbers,&amp;arrayLength);

Instead of incrementing i in createIntArray(), why not just increment array_size?

Plus, i is more commonly used as a for loop counter, which isn't the case here.  If someone were to take a glance at that while loop without further context, they may think that it should be a for loop instead.  By making this change, you'll remove that possible misconception and better communicate your exact intentions.