my struct operations
C offers you:
struct initialization (only at declaration time):
struct Student s1 = {1, "foo", 2.0 }, s2;
struct copy:
struct Student s1 = {1, "foo", 2.0 }, s2;
s2 = s1;
direct element access:
struct Student s1 ;
s1.id = 3;
s1.name = "bar";
s1.score = 3.0;
manipulation through pointer:
struct Student s1 = {1, "foo", 2.0 }, s2, *ps3;
ps3 = &s2;
ps3->id = 3;
ps3->name = "bar";
ps3->score = 3.0;
initialization function:
void initStudent(struct Student *st, int id, char *name, double score) {
st->id = id;
st->name = name;
st->score = score;
}
...
int main() {
...
struct Student s1;
iniStudent(&s1, 1, "foo", 2.0);
...
}