joshue
joshue

Reputation: 203

Objective-c access struct variable from an array of structs

I have a struct called Point

typedef struct {
GLfloat x;
GLfloat y;
} Point;

create an array of Points:

Point *sPoints;
for(int i=0 ... // define sPoints

somewhere else, I want to alter variables on those points. Why does this work:

sPoints[100].x+=10;    

but this doesn't:

Point pt = sPoints[100];
pt.x +=10;

is there any way to create a temporary variable that refers to the Point structure and allows me to set properties of that struct? The really strange thing is that in my non working code (pt.x +=10) I can actually read pt.x fine, I just can't seem to assign it... any help appreciated.

Upvotes: 0

Views: 691

Answers (1)

jer
jer

Reputation: 20236

It doesn't work because in C, that operation:

Point pt = sPoints[100];

creates a copy of the item on the right hand side, whereas the former does not copy.

Upvotes: 1

Related Questions