文字列の領域を動的に確保

文字列の領域を動的に確保(list_1.c)
//-----------------------------------------------------------------
// 文字列の動的確保
//-----------------------------------------------------------------
#include <stdio.h>

#define BUF "ABCDEFGHIJ"
//-----------------------------------------------------------------
char* give_string(char* string);
//-----------------------------------------------------------------

int main()
{
    char *p = give_string("ABCDEFGHIJ");
    printf("string:%s\n",p);
    free(p);
    return 0;
}

char* give_string(char* string)
{
    int slen = strlen(string);
    char *tempp=(char*)calloc(slen+1,sizeof(char));
    strncpy(tempp,string,slen);
    tempp[slen] = '\0';
    return tempp;
}

result
 string:ABCDEFGHIJ
inserted by FC2 system