Richard said:
(e-mail address removed) writes: ....
You have lost me.
That's too bad. As they say, you can lead a horse to water, but you
can't make him drink.
It is a petty difference when teaching someone new.
When I was teaching mdh, I didn't mention the fact that "int i=0;" is a
declaration that initializes 'i', while "i=0;" is a statement that
assigns a value to 'i'. All I did was point out that the first was a
declaration, while the second one was a statement; that's all I needed
to say to answer his question.
I didn't mention the difference between initialization and assignment
until I was explaining, to YOU, why your answer was not a useful one.
When you say "It is a petty difference when teaching someone new", does
that mean that you are new, and that I'm teaching you? I didn't get that
impression; I got the impression that you're an experienced programmer,
well practiced in variety of bad habits, and not currently learning much
of anything from me.
....
int i=0;
You really want to tell me that in plain english 0 is not assigned to
the global variable i at program initialisation?
I wouldn't even attempt to use plain English for that task; it's not a
suitable language for such discussions. If I'm working with an
experienced programmer, I'd describe the behavior correctly and expect
to be understood; If I'm working with a newbie, I would first teach him
the specialized meanings of the words needed to describe it correctly,
and then describe it correctly.
....
I have no idea what that last little soap box was about.
That follows from you're comment "You lost me" up above.
....
And if you try to tell me that
int i=3*4;
is NOT C code then please don your kevlar helmet ....
You may have noticed that I did not endorse the use of the word "code"
for explaining the relevant rule, quite the contrary. The relevant word
is "statements", not "code".