Hello guys,
What is the difference between typedef and #define?
thanks
-kanaks
|
Ambitious contributor
|
|
| 30Aug2008,20:47 | #2 |
|
There are two differences between define and typedef.
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
|
|
Go4Expert Member
|
|
| 2Sep2008,00:06 | #3 |
|
cool..!
thanks. |
