#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void test1(char **str)
{
char a[] = {"hello world!"};
*str = (char *)malloc(20);
strncpy(*str, a, 20);
}
char* test2()
{
char a[] = {"hello world!"};
char *str = NULL;
str = (char *)malloc(20);
strncpy(str, a, 20);
return str;
}
void test3(char * str)
{
char a[] = {"hello world!"};
str = (char *)malloc(20);
strncpy(str, a, 20);
}
int main(int argc, char *argv[])
{
char *test1_str = NULL;
char *test2_str = NULL;
char *test3_str = NULL;
test1(&test1_str);
printf("test1_str = %s\n",test1_str); //test1_str = hello world!
test2_str = test2();
printf("test2_str &#