#include <stdio.h>
#include <string.h>

void function(char *str) {
  char buffer[16];

  strcpy(buffer,str);
  printf(" I am done \n");
}

int  main() {
  char large_string[256];
  int i;

  //illustrating bus error  
  for( i = 0; i < 300; i++)
    large_string[i] = 'A';

  printf(" This is a string%s\n", large_string);
  function(large_string);
  /*
 // illustrating usgae of location that is not yours
  int a[3];
  a[0] = 34;
  a[1] = 34;
  a[2] = a[1] + a[2];
  a[3] = a[2];
  printf(" ..%d\n", a[3]);
   
  // illustrating seg fault: using non-existent space
  int k;
  char *t ; //= new char[5];
  char *s = t;
  for (k =0; k<=5;k++)
   *t++  = '3';
  *t = '\0';
  printf(" %s\n", s);
  */

  return 0;
}
