I want to know whether memory is allocated during the local variable declaration process.
Suppose I write this code inside function, int a =10; memory i
Local variables are usually stored on stack, so indeed bytes are allocated for int
:
int a;
Because it simply uses default value (0), so it is the same as:
int a = 0;
int
is a value type, so on stack is stored its value. If you would create local variable with reference type:
SomeClass a;
Then on stack it would be allocated only reference (with value null, as it is default value for reference types). For more information you can refer this question