#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int* create_int_array(){
   int* arr;
   arr = (int *)calloc(1,sizeof(int));
   return arr;
}
char** create_string_array(){
   char** arr = calloc(1,sizeof(char));
   return arr;
}
void append_int(int* array, int element, int index){
  array = (array+index);
  *array = element;
}
void append_string(char** array , char* element,int index){
  *(array + index) = calloc(1,sizeof(char*));
  strcpy(*(array + index),element);
}
void delete_string(char** array, int index){
  free(array[index]);
}
void delete_int(int* array,int index){
  array[index] = NULL;
}
/////// M A I N   F I L E ///////
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "basic_data_file.h"
int main(int argc, char const *argv[])
{
  /* code */
  char **array;
  array = create_string_array();
  char *full_name = calloc(strlen("hamza arslan"),sizeof(char*));
  strcpy(full_name,"hamza arslan");
  char* mail = calloc(strlen("test@gmail.com"),sizeof(char*));
  strcpy(mail,"test@gmail.com");
  char* address = calloc(strlen("Hacettepe Universty"),sizeof(char*));
  strcpy(address,"Hacettepe Universty");
  char* statu = calloc(strlen("student"),sizeof(char*));
  strcpy(statu,"student");
  append_string(array,full_name,0);
  append_string(array,mail,1);
  append_string(array,address,2);
  append_string(array,statu,4);
  for(int i=0; i< 3; i++){
    printf("%s\n",array[i]);
    free(array[i]); // get free double pointer
  }
  printf("%s\n",array[4]); // because index 3 blow up
  free(full_name);
  free(mail);
  free(address);
  free(statu);
  return 0;
}
I was try to own my basic array library . As you know else in some languages have high level array types. They are making easy our stocking operation. But in c, it's more complicated especially about string. I have 2 problem in here . First of all , when i give index=3 in append_string function , code blow up with Aborted(core dumped) error.(./run': double free or corruption (out)). Secondly , when i was checking leak memory ,it's get memory leak even i use free. What can i do?
 
     
    