Please help me make memory diagrams for points one, two and three in the program. I dont know how to do so and I need to understand, also please explain what youre doing as youre solving   /* An exercise to help you understand the use of pointer variables.  */ #include int main(void) {   int foo;    int bar;   int *fred;   int *sam;   bar = 100;   foo = 200;   fred = &foo;   /* point one */   printf("point one: foo is %d and bar is %d.\n", foo, bar);   sam = &bar;   *sam += 30;   *fred -= 40;   /* point two */   printf("point two: foo is %d and bar is %d.\n", foo, bar);   fred = &bar;   *fred += 5;   /* point three */   printf("point three: foo is %d and bar is %d.\n", foo, bar);   printf("point three: *fred is %d and *sam is %d.\n", *fred, *sam);   sam = &foo;   *sam = *fred;   /* point four */   printf("point four: foo is %d and bar is %d.\n", foo, bar);   *sam *= 100;   sam = fred;   /* point five */   printf("point five: foo is %d and bar is %d.\n", foo, bar);   printf("point five: *fred is %d and *sam is %d.\n", *fred, *sam);     return 0; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

Please help me make memory diagrams for points one, two and three in the program. I dont know how to do so and I need to understand, also please explain what youre doing as youre solving

 

/* An exercise to help you understand the use of pointer variables.
 */

#include <stdio.h>

int main(void)
{
  int foo; 
  int bar;
  int *fred;
  int *sam;

  bar = 100;
  foo = 200;
  fred = &foo;

  /* point one */

  printf("point one: foo is %d and bar is %d.\n", foo, bar);
  sam = &bar;
  *sam += 30;
  *fred -= 40;

  /* point two */

  printf("point two: foo is %d and bar is %d.\n", foo, bar);
  fred = &bar;
  *fred += 5;

  /* point three */

  printf("point three: foo is %d and bar is %d.\n", foo, bar);
  printf("point three: *fred is %d and *sam is %d.\n", *fred, *sam);
  sam = &foo;
  *sam = *fred;

  /* point four */

  printf("point four: foo is %d and bar is %d.\n", foo, bar);
  *sam *= 100;
  sam = fred;

  /* point five */

  printf("point five: foo is %d and bar is %d.\n", foo, bar);
  printf("point five: *fred is %d and *sam is %d.\n", *fred, *sam);  

  return 0;
}

Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Concept of pointer parameter
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education