C language

Q4: Memory Allocation

What is the output of the following code?

int main()
{
  int*x;
  x = abc();
  printf(“%d”,*x);
  return 0;
}

int* abc()
{
  int y=3;
  return (&y);
}
  • (a) 3              (b) 5       (c) Can’t say

Ans: Many would answer it as 3 but it is wrong. The way we have tried to do it is wrong. As we enter into main we have a memory allocated for variable x and then function abc is called.

www.exploreroots.com

Now as function abc() is called, a new frame is added in the stack. We save the return address to main in the stack. Then a variable y is declared.

www.exploreroots.com

18 Replies to “Q4: Memory Allocation

  1. Pingback: DayZ Hacks
  2. Pingback: hacking service
  3. эра водолея ванга, эра водолея для водолеев общедомовой прибор учета тепловой энергии, правила установки прибора учета тепловой энергии нсд упк рк, негласные следственные
    действия и их виды новый аэропорт стамбула официальный сайт табло,
    табло вылета стамбул сабиха

  4. шығарманың фабуласы екі бай әлемді, әдебиет танытқыш оқу жер доп жүйесіндегі жұмыстың формуласы
    bi group алматы новостройки, биай групп квартиры в
    рассрочку алматы моторлы қайық барлық жолға 2 сағ, моторлы қайық өзен ағысымен
    18 км

  5. Pingback: bangkok tattoo
  6. 20 жылдық текст, 40 жылдық кездесу әні скачать казхром акционеры, казхром актобе вакансии ложные позывы
    к дефекации после операции, колоректальный рак презентация а портал,
    портал студента

Leave a Reply

Your email address will not be published. Required fields are marked *