On Fri, Oct 05, 2007 at 11:33:44PM +0200, Anselm R. Garbe wrote:
> > and, as a side effect, knowing statically `ntags' allows to define 
> > `seltags' as an array without using
> > `emallocz()'. 
> > What I am missing?
> You miss that seltags and Client->tags are both globally defined
> in the same context as the tags definition. Afaik you can't
> evaluate the sizeof operator and you can't perform a division
> operation in a non-functional scope, so I don't see how you
> would like to replace the allocation of seltags and Client->tags
> using emallocz.

Sorry, I am not a `literate' C programmer.  If I am not misunderstanding your
words, you are saying that the following is not a legal C program:

----- test.c ----------------------------
const char *a[] = {"0", "1", "2", "3"};
int b[sizeof(a) / sizeof(a[0])];

int main() {
  return 0;
}
-----------------------------------------

Now I am looking at the C99 standard document (ISO/IEC 9899) and I am unable
to find any reference to the aforementioned limitations of the `sizeof' and
`/' (division) operators.  I'm not very good in using the standard, though.
Probably I am missing the right section. What are your sources?

greets,
gingioerge


Reply via email to