the purpose of typedef is to redefine the name of an existing variable type.
e.g.
typedef unsigned long int T;
T v1,v2;
No, but 'typedef int a;' is possible, it defines the type 'a'.
A typedef is used to define a type. The clue is in the name: typedef = type definition.
create class with typedef construct.and then add the base class with the name type
They are entirely different things; int is a type, typedef is a way to define types.
You use typedef to give a different name to a current data type. Consider the following: typedef int integer; Now everytime you do "integer x", it'll be an int. Basically, there is no case where you _must_ use it, only cases where it might be easier to have typedefs.
A Macro is a preprocessor directive means that before compilation the macros are replaced. Where as typedef is defining a new data type which is same as the existing data type. Syntax: typedef Existing datatype New datatype For example typedef int NUMBER; Here NUMBER (New datatype)is defined as a data type which contains the properties same as int(Existing datatype). You can declare a variable of int as NUMBER a; is same as int a; similarly typedef int* NUMBERPOINTER; NUMBERPOINTER a; Here a is a pointer of integer type.
auto, extern, static, register, typedef (only formally)
A typedef is a compiler macro. A reference is a pointer, usually implemented with transparent syntax. They have no relationship between each other.
The purpose of typedef is to assign alternative names to existing types, most often those whose standard declaration is cumbersome, potentially confusing, or likely to vary from one implementation to another
You can define a data-type called 'address': 1. typedef void *address; 2. typedef struct address { char country [32]; char state [32]; ... } address.
There will a part like this: typedef struct Point { double x, y; } Point; typedef struct LineSegment { Point from, to; } LineSegment;
typedef union U_t {/*...*/} U; U a[100]; /* an array of 100 unions */