void GetMemory(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf("%s", str);
} 请问运行Test 函数会有什么样的结果?需要注意的是,虽然上述程序存在运行结果,但是程序在结束的时候没有释放掉申请的空间,是存在风险的。
栈空间内变量: 运行时, 若是函数内部使用的变量, 则函数一旦返回其就会被释放, 生存周期仅限于函数内部.