Regarding infinite loop and heap memory

SunilC's Avatar
Newbie Member
I have couple of questions.

My friend put across this question to me asking whether the following piece of code would result in an infinite loop...
while(1)
{
int i;
}

I guess it doesnt result in an Infinite loop but instead keeps on getting executed until the entire memory gets exhausted.. Could I please get a validation??

And

Could i get to know what heap memory means?? Does that refer to data segment? (if yes could i plz get to know how size of data segment is determined)??
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
First of all I would like to welcome you to go4expert programming forum
Code:
while(1)
{
  int i;
}
This will be infinite loop.

Quote:
Originally Posted by SunilC
I guess it doesnt result in an Infinite loop but instead keeps on getting executed until the entire memory gets exhausted.. Could I please get a validation??
It will defintely result in an infinite loop for a simple reason that the variable being declared is removed from the memory when it goes out of scope and so this will not be what you are thinking.

Quote:
Originally Posted by SunilC
Could i get to know what heap memory means??
A heap is a specialized tree-based data structure. Its base datatype (used for node keys) must be an ordered set.

Let A and B be nodes of a heap, such that B is a child of A. The heap must then satisfy the following condition (heap property):

key(A) ≥ key(B)

Quote:
Does that refer to data segment? (if yes could i plz get to know how size of data segment is determined)??
Data segment is something related to compiler as far as I can think of and is not related to heap memory.
0
SATYAN JANA's Avatar
Light Poster
One thing I'll add,-
There will be memory allocation from stack-memory. The heap memory has nothing to do here.

Last edited by SATYAN JANA; 27Sep2005 at 16:36..