Are definitions evaluated in order?
Ross Williams
ross at spam.ua.oz.au
Thu Jun 27 17:03:31 AEST 1991
Does C guarantee that it will evaluate declarations in order?
For example, is the following program guaranteed to output "3"?
main()
{
int a=3;
int b=a;
printf("%d\n",b);
}
And how about:
main()
{
int a=3,b=a;
printf("%d\n",b);
}
Even if it is standard, does anyone know if it is practically portable
(i.e. do compilers as a rule evaluate in order).
I am asking because it would neaten up a lot of the code I am writing.
Without the order assumption, variables that are dependent on other
variables initialized in the same block have to be initialized using
assignments instead of at their declaration.
I don't just need a yes or a no, I need a specific reference to [K&R]
or the ANSI standard ([K&R] preferred as I don't have a copy of the
standard). Without a formal language spec reference, I won't have a
warm fuzzy feeling about it.
Thanks,
Ross Williams
ross at spam.ua.oz.au
More information about the Comp.lang.c
mailing list