sizeof(function)

Geoff Keating geoffk@cygnus.com
Fri Jun 16 13:49:00 GMT 2000


Horst von Brand <vonbrand@inf.utfsm.cl> writes:

> Andi Kleen <ak@muc.de> said:
> > The following program outputs 1: 
> > 
> > main()
> > {
> > 	printf("%d\n",sizeof(main));
> > }	
> > 
> > Why does it not give an error ? The c9x draft does not seem to define
> > this case, but surely it should at least warn about this.
> 
> Whenever you mention a function without calling it, you get a pointer to
> the function, isn't it? 1 is wrong in any case.

It does give a warning if you use -pedantic.  Functions don't decay to
pointers in the context of sizeof(), just as arrays don't.

-- 
- Geoffrey Keating <geoffk@cygnus.com>


More information about the Gcc-bugs mailing list