tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Caldarale, Charles R" <>
Subject RE: [OT] JNI problem
Date Fri, 09 Oct 2009 16:28:45 GMT
> From: Christopher Schultz []
> Subject: Re: [OT] JNI problem
> C99 probably allows this:
> char s[20];
> sizeof s;
> To yield 20, while strict, old-skool C would yield whatever "sizeof
> char*" would.

Not true; all versions of the C standard allowed the above, and all would evaluate to 20 for
sizeof.  Contrary to popular belief, arrays and pointers are not equivalent, although they
can be interchanged in many circumstances - sizeof not being one of them.

> In any case, it's always best to use strlen() to figure out how many
> chars are in a string.

It's not just best, it's mandatory.

> I guess you mean dynamic sizing and not dynamic allocation.

I said it was not dynamic allocation; dynamic sizing is not quite appropriate either, since
the value is fixed for any given invocation of the function.

> It appears that:
>    sizeof arr
> compiles to the equivalent of:
>    val + sizeof char[6]

Yes, that's what I was pointing out.

> That's a pretty clever compiler.

It's required by the standard; not sure which version it went into, since I've only kept the
1999 one.

> Whatever happened to the days when compilers found ways to make 
> your life miserable instead of actually helping you out? ;)

I believe that Visual Studio has cornered the make-your-life-miserable part of the market.

 - Chuck

for use only by the intended recipient. If you received this in error, please contact the
sender and delete the e-mail and its attachments from all computers.

View raw message