# The TYPEDEF keyword.

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;

## Examples:

Here is a rather heavy example of typedef.

## Notes:

I would expect to see 'typedef' in header files.

Top | Master Index | Keywords | Functions