Dynamically-expanding array in C
My 2 cents:


I believe createDynArray should return something.
The returned value of createDynArray might have a special value of NULL in case that one of the mallocs calls failed (this scenario should be covered by the code).
In the implementation of extend - consider using realloc instead of malloc and manual copy. If you insist on malloc perhaps using memcpy might be more elegant than a manual copy.
I'd move magic numbers to #defines: Initial Capacity (hard-coded to 10) and Growth Factor (2). Alternatively, they could be parameters to the createDynArray function
How would you free this struct? Perhaps you should add a "destructor" to be called before calling free with the struct pointer as a parameter.
In terms of functionality, other than printing this "array", how would the consuming programmer could get (or set) a specific item in this "array"?