/* File: demo3.c
 * C programs written in Monday lecture Sep. 24
 * This was compiled with gcc -Wall -g -o demo demo.c
 * Then you can execute it as ./demo <args>
 */

#include <stdio.h>
#include <stdlib.h>

void addOne(int);
void addOneChange(int *);

int main(int argc, char *argv[]) {

  int xmain;
  int *p;

  xmain = 3;
  p = &xmain;

  printf("pointer p is at address %p\n", p);
  printf("this points at *p = %d\n\n", *p);


  printf("addOne: before: %d\n", xmain);
  addOne(xmain);
  printf("addOne: after:  %d\n\n", xmain);

  printf("addOneChange: before: %d\n", xmain);
  addOneChange( &xmain );
  printf("addOneChange: after:  %d\n\n", xmain);



  
  return 0;
}

void addOne(int x) {
    x = x + 1;
}

void addOneChange(int *p) {
    *p = *p + 1;
}


 
