That means an NSPointArray is a pointer to NSPoint structures.
Just follow the rules of allocating dynamic C arrays.
In these situations I often use C++'s vectors. Example:
std::vector<NSPoint> myPointAry;
Vectors in C++ are contiguous
...Fill your array. Then when you need the NSPointArray, cast it
thusly...
[myBezierPath appendBezierPathWithPoints:(NSPointArray) &myPointAry[0]
count:10];
myPointAry[0] of course is the first element of the vector.
&myPointAry[0] is a pointer to the first element of the vector.
Since we know that the rest are contiguous, you have a C array of
NSPoints.
And C++ manages dynamic memory allocation for you. It's quite
efficient.
HTH