Help explain what this code does? Step by step please.. :D thanks! (About pointers)
Code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int size = 0, counter = 0;
char *data = calloc(size, sizeof(char));
int length = 1, counter1 = 0;
char **input = 0;
do
{
input = realloc(input,sizeof(char*) *length);
printf("Enter a word:");
size = 0;
free(data);
data = 0;
do
{
size++;
data = realloc(data, size+1);
*(data+size-1) = fgetc(stdin);
}
while(*(data+size-1) != '\n');
data = realloc(data, size+1);
*(data+size) = 0;
input[counter1] = calloc(size+3, sizeof(char));
strcpy(input[counter1], data);
length++;
counter1++;
}
while(strcmp(input[counter1-1], "end\n") != 0);
counter=0;
while(counter < counter1)
{
printf("%s", input[counter]);
counter++;
}
}
Help explain what this code does? Step by step please.. :D thanks!