⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Program execution starts here

How the program executes in Computer Memory?

main()

Stack

Stack frame

call stack: top of the stack executes.

include <stdio.h>

void increment(int a){ a = a + 1; printf(“Address of a in increment: %p\n”, &a); }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

main() a : int

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

main() a : int = 10

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

main() a : int = 10

increment(a=10)

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

main() a : int = 10

increment(a=10) a: int = 11

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

main() a : int = 10

increment(a=10) a: int = 11

increment function execution finished. Popped from Stack

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

main() a : int = 10

printf (a from main)

OUTPUT: Value of a is 10.

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

main() a : int = 10

include <stdio.h>

void increment(int a){ a = a + 1; }

int main(){ int a; a = 10;

increment(a);

printf("Value of a is %d", a);

return 0;

}

Stack

END!