(e-mail address removed) (Dan Pop) writes:
(e-mail address removed) (Dan Pop) writes:
(e-mail address removed) (Dan Pop) writes:
(e-mail address removed) (Dan Pop) writes:
Few expressions yield an array type. Among them are the (possible
^^^^^^^^^^^^^
parenthesesed) identifier referring to the array,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Huh?
char array[3];
char *p = array;
Anything wrong with this snippet that, according to you, assigns an
array to a pointer?
Huh? Where did I say that this assigns an array to a pointer?
In the underlined text above. In the absence of *any* explicitly
mentioned exception, it says that my code assigns an array to a
pointer.
The absence of explicitly mentioned exceptions is to interpreted as
"unless a conversion rule applies".
But, since a conversion rule applies *by default* here, your statement
is still patently false.
The conversion rule only applies if the expression is not the operand of
the `sizeof' or unary & operator.
I.e. in the general case. Hence, it is the default.
Whether or not it applies by default *here* (by which you mean your
example above, I presume) is not relevant, since I never claimed that
it doesn't apply in your example.
You never mentioned it *at all*, which means, by implication, that it
never happens.
Your implication is wrong. There are millions of things which I never
mention, but which still happen.