(A)   Solution 1                                                Solution 2

struct student                      typedef struct

{                                   {

char ssn[10];                       char ssn[10];

char names[3][21];                  char names[3][21];

float gpa;                          float gpa;

};                                  } STUDENT;

Solution 1 defines a structure called student, solution 2 defines a new data type called STUDENT, which is a structure.

Note that ssn needs to be 10 characters:  9 chars of the social security number plus one null termination character.  Likewise, each name is 20 characters plus the null termination character

(B)  Using structure of solution 1            Using structure of solution 2

struct student studentA;           STUDENT studentA;

(C)

strcpy (studentA.ssn, “123456789”);

strcpy (studentA.names[0], “Ima”);

strcpy (studentA.names[1], “College”);

strcpy (studentA.names[2], “Student”);

studentA.gpa = 3.85;

We need to call strcpy to add the strings, we cannot use the assignment (=) operator.

For gpa we can use the assignment operator.

(D)

pStudent = &studentA;

(E)

printf (“%s\n”, pStudent->names[2]);

or

printf (“%s\n”, (*pStudent).names[2]);