Kassem that's a standard Structure in C in which you can declare different variables of different types.
A data structure is anything that can contain Data hence the name , but in programming there's a variety of structure that are named "Data Structure" on which you can perform all actions like inserting adding and deleting, I don't know if you can perform these operations on a Structure , check this :
http://en.wikipedia.org/wiki/List_of_data_structures
The chapter I took before linked list in C was the Structure you declared;
A linked list for example which is taught in Data structure books has basically the same declaration as the one you mentioned but instead has a pointer of type struct which holds a memory address of its node and points to next linked list in the structure
struct list
{
int num;
struct list * next;
};
this declares a linked list structure which contains a integer number and an address which you initialize using malloc()
next holds the address of the next node , the last node holds the address "Null" which indicates the end of the list
I think they would teach you Data Structures at uni , it's very challenging , irritating but very satisfying to understand.