Test/C

cf.동적할당 예제(ch16)

kiostory 2017. 8. 10. 15:29

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *get_str(void);

int main(void)
{
    char *p[100];
    char *pt;
    int i = 0, cnt;

    while(1)
    {
        pt = get_str();
        if(*pt == '\0')
            break;
        p[i] = pt;
        i++;
    }
    cnt = i;
    for(i = 0; i < cnt; i++)
    {
        printf("%s\n", p[i]);
    }
    for(i = 0; i < cnt; i++)
    {
        free(p[i]);
    }

    return 0;
}

char *get_str(void)
{
    char temp[800];
    char *pt;
    gets(temp);
    pt = (char *)malloc(strlen(temp) + 1);
    strcpy(pt, temp);
    return pt;
}