This keyword provides a short-hand way to write variable declarations. It is not a true data typing mechanism, rather, it is syntactic "sugar coating".
For example
typedef struct node
{
int value;
struct node *next;
}mynode;
This can later be used to declare variables like this
mynode *ptr1;
and not by the lengthy expression
struct node *ptr1;
There are three main reasons for using typedefs:
* It makes the writing of complicated declarations a lot easier. This helps in eliminating a lot of clutter in the code. * It helps in achieving portability in programs. That is, if we use typedefs for data types that are machine dependent, only the typedefs need to change when the program is ported to a new platform. * It helps in providing better documentation for a program. For example, a node of a doubly linked list is better understood as ptrToList than just a pointer to a complicated structure.
|