fork download
  1. #include <stdio.h>
  2.  
  3. void Test( const void* f )
  4. {
  5. printf( "%p\n" , f ) ;
  6. }
  7.  
  8. struct holdvoid
  9. {
  10. const void* h ;
  11.  
  12. } ;
  13.  
  14. int main( void )
  15. {
  16.  
  17. //////WORKS/////
  18.  
  19. int n = 123 ;
  20. Test( &n ) ;
  21.  
  22. const int m = 123 ;
  23. Test( &m ) ;
  24.  
  25. n = ( int ){ 123 } ;
  26. Test( &n ) ;
  27.  
  28. int* np = &( int ){ 123 } ;
  29. Test( np ) ;
  30.  
  31. const int* cnp = &( const int ){ 123 } ;
  32. Test( cnp ) ;
  33.  
  34. void* vp = &( int ){ 123 } ;
  35. vp = &( int ){ n } ;
  36. ( void )vp ;
  37.  
  38. const void* cvpw = &n ;
  39. ( void )cvpw ;
  40.  
  41. //////DOESN'T WORK/////
  42.  
  43. const void* vpp = &( int ){ 123 } ;
  44. ( void )vpp ;
  45.  
  46. const void* cvp = &( const int ){ 123 } ;
  47. ( void )cvp ;
  48.  
  49. Test( &( int ){ 123 } ) ;
  50.  
  51. Test( &( const int ){ 123 } ) ;
  52.  
  53. ( void )( struct holdvoid ){ &( const int ){ 123 } } ;
  54.  
  55. return 0 ;
  56. }
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
0xbfbfc6dc
0xbfbfc6d8
0xbfbfc6dc
0xbfbfc6e0
0xbfbfc6e4
0xbfbfc6f8
0xbfbfc6fc