Structures in C
We already know that arrays are many variables of the same type grouped together under the same name. Structures are like arrays except t...
https://things-for-students.blogspot.com/2012/01/structures-in-c.html
struct person{ char *name; int age;}; The above is just a declaration of a type. You must still create a variable of that type to be able to use it. Here is how you create a variable called p of the type person:
#include<stdio.h> struct person{ char *name; int age;}; int main(){ struct person p; return 0;} To access the string or integer of the structure you must use a dot between the structure name and the variable name.
#include<stdio.h> struct person{ char *name; int age;}/; int main(){ struct person p; p.name = "John Smith"; p.age = 25; printf("%s",p.name); printf("%d",p.age); return 0;}/Type definitions
You can give your own name to a variable using a type definition. Here is an example of how to create a type definition called intptr for a pointer to an integer.#include<stdio.h> typedef int *intptr; int main(){ intptr ip; return 0;}/Type definitions for a structure
If you don't like to use the word struct when declaring a structure variable then you can create a type definition for the structure. The name of the type definition of a structure is usually all in uppercase letters.#include<stdio.h> typedef struct person{ char *name; int age;} PERSON; int main(){ PERSON p; p.name = "John Smith"; p.age = 25; printf("%s",p.name); printf("%d",p.age); return 0;} Pointers to structures
When you use a pointer to a structure you must use -> instead of a dot.#include<stdio.h> typedef struct person{ char *name; int age;} PERSON; int main(){ PERSON p; PERSON *pptr; PERSON pptr = &p; pptr->name = "John Smith"; pptr->age = 25; printf("%s",pptr->name); printf("%d",pptr->age); return 0;}/