Rajesh S R wrote, On 13/03/07 13:09:
The C standards explicitly state that if the behaviour is not defined by
the standard then it is undefined behaviour exactly the same as if it
explicitly said it was undefined behaviour.
ISO is the international standard body, ANSI is mainly relevant to the
USA and the original publication of the standard in 1989 before ISO
adopted it.
Thanks for the reply for my question about the behavior of things not
stated in standards.
Can You give reply to the following question too?
*Since ISO standard says nothing about
rvalue type array, am I invoking undefined behavior, and *not*
implementation-defined behavior?*
Does the case of accessing an Rvalue array which may or may not be
converted to pointer type as I mentioned earlier in this thread, a UB,
just because C99 does'nt say anything about Rvalue arrays?
But C standard says that a variable of array type is converted to
pointer type.
Isn't it applicable for Rvalue array type, just because nothing is
explicitly said about Rvalue array type?
I know that I'm too repetitious as I ask same question again and again
in different posts, But I want a response in terms of C99 standards
and I'm curious to know why an rvalue array type is converted to
pointer type in the expression
f().m[0]
but it isn't in the expression
f().m + 0
Is'nt it a violation of C99 which states any array type is converted
to pointer type?
Doesn't the interpretation of the word 'array type' include both
Lvalue and Rvalue types?
Please see the previous posts by others and me and do respond.
Sorry, if you think that, I am too repetitious in posing same question
again and again.
But I think I hadn't got the answer to my question.
Thanks in advance for the reply.