answersLogoWhite

0

if a variable is of value type memory is allocated on stack memory.. if it is of reference type,memory is allocated on heap memory..

User Avatar

Wiki User

15y ago

What else can I help you with?

Continue Learning about Engineering

Is declaration of variables allocated memory?

Constants, static variables and global variables are allocated in the program's data segment at compile time. Local variables are allocated on the stack at runtime. Variables cannot be allocated on the heap, you must use a constant, static variable, global variable or local variable to store the start address of a dynamic memory allocation. The variable must be a raw pointer or a reference handle (a smart pointer).


Can we declare register variable as global?

Globals and statics are both allocated in static memory. Locals are allocated on the stack.


Is memory allocated at runtime for the static variables?

No. Static memory is allocated at compile time. Static variables are allocated within the program's data segment which is a physical part of the executable. When you load the executable into memory, the operating system sets aside enough memory for the entire executable and copies it, byte for byte, into that memory. So when the program is executed, the data segment is already allocated.


What is the difference between stack and heap memory in C?

stack is memory allocated for temporary variables used by subroutinesheap is memory allocated for long term data structures (e.g. linked lists, trees) that are likely to change sizeBoth are forms of dynamically allocated memory (i.e. allocated/deallocated at runtime as needed), but the allocation/deallocation method and their place in physical/virtual memory are differentStatically allocated memory (i.e. allocated at compile/link time) is used for variables and data structures that must exist as long as the program is running and cannot change in size while the program is running.


What is constant explain their storage representation with suitable example?

A constant is a variable that is immutable. The storage representation is exactly the same as for any other variable of the same type, the only difference is that all constants are allocated in the program's data segment (static memory).

Related Questions

Is declaration of variables allocated memory?

Constants, static variables and global variables are allocated in the program's data segment at compile time. Local variables are allocated on the stack at runtime. Variables cannot be allocated on the heap, you must use a constant, static variable, global variable or local variable to store the start address of a dynamic memory allocation. The variable must be a raw pointer or a reference handle (a smart pointer).


Can we declare register variable as global?

Globals and statics are both allocated in static memory. Locals are allocated on the stack.


Static variable in c?

A static variable in C is one in which the memory is preallocated before the execution unit begins and lasts for the entire program unit.A non-static variable in C will be allocated in the block in which it is contained, and destroyed outside that block.


Is memory allocated at runtime for the static variables?

No. Static memory is allocated at compile time. Static variables are allocated within the program's data segment which is a physical part of the executable. When you load the executable into memory, the operating system sets aside enough memory for the entire executable and copies it, byte for byte, into that memory. So when the program is executed, the data segment is already allocated.


What do you mean by run time memory allocation?

When the allocation of memory to the program is done on need, during the execution of a program, it is called as the dynamic memory allocation. Memory is allocated from a free memory pool called as heap.The only way to access this dynamically allocated memory is through pointers. Dynamically allocated memory can be freed at run time and again added to heap.


What is the difference between stack and heap memory in C?

stack is memory allocated for temporary variables used by subroutinesheap is memory allocated for long term data structures (e.g. linked lists, trees) that are likely to change sizeBoth are forms of dynamically allocated memory (i.e. allocated/deallocated at runtime as needed), but the allocation/deallocation method and their place in physical/virtual memory are differentStatically allocated memory (i.e. allocated at compile/link time) is used for variables and data structures that must exist as long as the program is running and cannot change in size while the program is running.


Write the difference between global variable and static variable in context to function with suitable example?

Static VariableA variable that exists in only one location and is globally accessible by all instances of a class and also a variable for which memory remains allocated as long as the program executes.Global VariableA variable that can be accessed by all parts of a program so it does not belong to any subroutine in particular and can therefore can be accessed from any context in a program


What are the automatic varriable in c?

An automatic variable is activated and has its memory allocated in the block in which it is declared. The memory and contents will be deleted when the block is exited.


At what time the memory is allocated for variable in c and c?

Static memory allocation occurs at compile time where as dynamic memory allocation occurs at run time.


What is constant explain their storage representation with suitable example?

A constant is a variable that is immutable. The storage representation is exactly the same as for any other variable of the same type, the only difference is that all constants are allocated in the program's data segment (static memory).


Does a compiler allocate memory space for each constant?

No. Memory is allocated for each unique constant rather than to each individual constant. However, compilers do not physically allocate memory; the constants are allocated in the program's data segment at linktime. The actual allocation within memory occurs at loadtime, when static memory is physically allocated to the executable. Constants are then initialized using information found in the program's data segment.


Which specifier indicates that a variable's reserved space in the memory can be erased or relocated when the variable is out of its scope?

There is no such thing. When the program leaves the scope of the variable, it will be release the memory of the variable automatically and unconditonally.