fork download
  1. #include <stdio.h>
  2.  
  3. union FPtrToOPtr_u
  4. {
  5. void (*FPtr)( void );
  6. void *OPtr;
  7. };
  8.  
  9.  
  10. #define FUNCTION_ADR( FUNCTION_NAME ) { \
  11. union FPtrToOPtr_u Ptr; \
  12. Ptr.FPtr = (void (*)( void ))FUNCTION_NAME; \
  13. printf( "%p\n", \
  14. Ptr.OPtr ); \
  15. }
  16.  
  17.  
  18.  
  19. int add( int a, int b )
  20. {
  21. return a + b;
  22. }
  23.  
  24.  
  25.  
  26. int sub( int a, int b )
  27. {
  28. return a - b;
  29. }
  30.  
  31.  
  32.  
  33. int main(void)
  34. {
  35. FUNCTION_ADR( main )
  36. FUNCTION_ADR( add )
  37. FUNCTION_ADR( sub )
  38.  
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
0x804843a
0x8048424
0x804842f