Hi,
In the commit r51083 (http://git.reactos.org/?p=reactos.git;a=commitdiff;h=83ba2eecbf0ff43ec3a1785...), please, initialize "i" to 0. Non-initialized variable store garbage, not zeroes.
Hi,
please, initialize "i" to 0. Non-initialized variable store garbage, not zeroes.
It probably does not look very well, but otherwise correct:
If an object that has static storage duration is not initialized explicitly, then: — if it has pointer type, it is initialized to a null pointer; — if it has arithmetic type, it is initialized to (positive or unsigned) zero; — if it is an aggregate, every member is initialized (recursively) according to these rules; — if it is a union, the first named member is initialized (recursively) according to these rules.
teachers at college told us it is a *must* to initialize variables.....
On Sun, Mar 20, 2011 at 10:53 AM, Dmitry Gorbachev d.g.gorbachev@gmail.comwrote:
Hi,
please, initialize "i" to 0. Non-initialized variable store garbage, not zeroes.
It probably does not look very well, but otherwise correct:
If an object that has static storage duration is not initialized
explicitly, then:
— if it has pointer type, it is initialized to a null pointer; — if it has arithmetic type, it is initialized to (positive or unsigned)
zero;
— if it is an aggregate, every member is initialized (recursively)
according to these rules;
— if it is a union, the first named member is initialized (recursively)
according to these rules.
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
You'll learn in due course that college lecturers are often wrong.
2011/3/20 Javier Agustìn Fernàndez Arroyo elhoir@gmail.com:
teachers at college told us it is a must to initialize variables.....
On Sun, Mar 20, 2011 at 10:53 AM, Dmitry Gorbachev d.g.gorbachev@gmail.com wrote:
Hi,
please, initialize "i" to 0. Non-initialized variable store garbage, not zeroes.
It probably does not look very well, but otherwise correct:
If an object that has static storage duration is not initialized explicitly, then: — if it has pointer type, it is initialized to a null pointer; — if it has arithmetic type, it is initialized to (positive or unsigned) zero; — if it is an aggregate, every member is initialized (recursively) according to these rules; — if it is a union, the first named member is initialized (recursively) according to these rules.
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
O_O why?
On Sun, Mar 20, 2011 at 11:21 AM, Ged Murphy gedmurphy@gmail.com wrote:
You'll learn in due course that college lecturers are often wrong.
2011/3/20 Javier Agustìn Fernàndez Arroyo elhoir@gmail.com:
teachers at college told us it is a must to initialize variables.....
On Sun, Mar 20, 2011 at 10:53 AM, Dmitry Gorbachev <
d.g.gorbachev@gmail.com>
wrote:
Hi,
please, initialize "i" to 0. Non-initialized variable store garbage, not zeroes.
It probably does not look very well, but otherwise correct:
If an object that has static storage duration is not initialized explicitly, then: — if it has pointer type, it is initialized to a null pointer; — if it has arithmetic type, it is initialized to (positive or
unsigned)
zero; — if it is an aggregate, every member is initialized (recursively) according to these rules; — if it is a union, the first named member is initialized
(recursively)
according to these rules.
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
I will suggest initialize them if you can. :)
On Sun, 20 Mar 2011 21:03:42 +1100, Javier Agustìn Fernàndez Arroyo elhoir@gmail.com wrote:
teachers at college told us it is a *must* to initialize variables.....
On Sun, Mar 20, 2011 at 10:53 AM, Dmitry Gorbachev d.g.gorbachev@gmail.comwrote:
Hi,
please, initialize "i" to 0. Non-initialized variable store garbage, not zeroes.
It probably does not look very well, but otherwise correct:
If an object that has static storage duration is not initialized
explicitly, then:
— if it has pointer type, it is initialized to a null pointer; — if it has arithmetic type, it is initialized to (positive or
unsigned) zero;
— if it is an aggregate, every member is initialized (recursively)
according to these rules;
— if it is a union, the first named member is initialized
(recursively) according to these rules.
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
2011/3/20 Javier Agustìn Fernàndez Arroyo elhoir@gmail.com:
teachers at college told us it is a must to initialize variables.....
When I was in high school, our teacher told me that a simple "int a[5];" (without "= {0};") would initialize the array with zeroes. But it didn't. At least, in old good Borland C/C++ 3.1.
....so, depends on compiler
2011/3/20 Alexander Potashev aspotashev@gmail.com
2011/3/20 Javier Agustìn Fernàndez Arroyo elhoir@gmail.com:
teachers at college told us it is a must to initialize variables.....
When I was in high school, our teacher told me that a simple "int a[5];" (without "= {0};") would initialize the array with zeroes. But it didn't. At least, in old good Borland C/C++ 3.1.
-- Alexander Potashev
teachers at college told us it is a must to initialize variables.....
When I was in high school, our teacher told me that a simple "int a[5];" (without "= {0};") would initialize the array with zeroes. But it didn't. At least, in old good Borland C/C++ 3.1.
....so, depends on compiler
Global, and local static variables are initialized; local non-static variables are not. I have no Borland compiler at hand, but I bet it conforms to the standard!