I thought i understand this but I started to get confused by one question in the book "Why is it a good idea to initialize variables as they are declared?"
At 1st i was like - c'mon its easy, but than i started to think - wait a minute isnt declaration of variable mean externint x;, its like void print_hello();
Both are declarations but i thought that we are not assigning anything to declarations but just tell the compiler that there is going to be this variable or function inside the code somewhere. Only later on when we are defining variable or function we give details about functions body or variables value.
I got more confused when one guy in other forums gave example about definitions and declarations and gave the same example
declaration: int x; // i feel like this cant be right coz as i understand here we are actually instantly giving memory block for this variable and i cant type int x; int x; (could type externint x; externint x)
definition: int x; //this i agree is definition without initialization
So can we actually "initialize variables as they are declared"?(externint x = 2;)
You are correct. We initialize variables when they are defined. I don't think the quote is wrong though, only imprecise, because a definition is also declaration.