This is telling you that CGRect is a C structure (struct) containing two fields - origin and size of type CGPoint and CGSize respectively. As it turns out each of these are also C structures (which you can tell by clicking on CGPoint or CGSize.
So yes, if you create a CGPoint object then you can just assign it to the 'origin' field of a CGRect object. Or you can just assign one of the CGPoint fields (x and y).
Code:
CGRect myRect;
CGPoint myPoint;
myPoint.x = 34.5;
myPoint.y = 12.0;
myRect.origin = myPoint;
// or you can do:
myRect.origin.x = 34.5;
myRect.origin.y = 12.0;
C Structures aren't classes. You don't allocate them.
Objective-C is a superset of C. If you aren't familiar with C then I suggest you pickup a decent book on learning C. Understanding the basics of C will make you a better Objective-C programmer.