Firstly, typedef obeys scoping rules just like variables, whereas define
stays valid until the end of the file (or until a matching undef).
Secondly, some things can be done with typedef that cannot be done with define.
Examples:
Code:
typedef int* int_p1; int_p1 a, b, c; // a, b, and c are all int pointers. #define int_p2 int* int_p2 a, b, c; // only the first is a pointer!
Code:
typedef int a10[10]; a10 a, b, c; // create three 10-int arrays
Code:
typedef int (*func_p) (int); func_p fp // func_p is a pointer to a function that // takes an int and returns an int
Source: http://www.go4expert.com/forums/showthread.php?t=13405
No comments:
Post a Comment