Re: sizeof( function )

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Not that is of great importance, but does anyone know why

int main( void )
{
        return printf( "%d\n", ( int )sizeof( main ) );
}

prints 1 ? :)

It is invalid to use sizeof() with a function
type expression (C99 §6.5.3.4 para. 1) and hence this code invokes
undefined behavior.  gcc gives a warning if you compile with -pedantic,
but otherwise it apparently just returns 1;

See the description of -Wpointer-arith in the Fine Manual.


Segher



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux