Every variable has a data type. typedef is used to define new data type names to make a program more readable to the programmer.
For example:
| 
				|
	main()	                |   main()
        {	                |   {
  	    int money;          |       typedef int Pounds;
            money = 2;          |       Pounds money = 2
        }	                |   } 
 | 
These examples are EXACTLY the same to the compiler. But the right hand example tells the programmer the type of money he is dealing with.
A common use for typedef is to define a boolean data type as below.
 
Note: Recent C++ compilers have introduced a boolean datatype.
| 
	typedef enum {FALSE=0, TRUE} Boolean
	main ()
        {
	    Boolean flag = TRUE;
	}
        
 | 
And as a final example, how about creating a string datatype?
| 
     typedef char *String;
     
     main()
     {
         String Text = "Thunderbird";
       
         printf("%s\n", Text);
     }
     
 | 
The main use for typedef seems to be defining structures. For example:
| 
	typedef struct {int age; char *name} person;
	person people;
 | 
Take care to note that person is now a type specifier and NOT a variable name.
As a final note, you can create several data types in one hit.
| typedef int Pounds, Shillings, Pennies, Dollars, Cents; | 
 Here is a rather heavy example of typedef.
Here is a rather heavy example of typedef.
| Top | Master Index | Keywords | Functions |