在C的编程中,有时候需要在函数内进行动态内存分配来提高函数的可用性和移植性,但如果忽略对动态内存的释放,便会导致程序会有内存泄露。以下将会介绍一些正确和错误的方法。
一、正确的跨函数使用malloc的方法
1、通过二级指针进行传递 void Getmemory(char **p,int n)
# include
# include
void Getmemory(char **,int);
int main()
{
char *p = NULL;
int n = 10;
Getmemory(&p,n);
if(p == NULL){
return -1;
}
printf("%d\n",p);
for(int i=0;i
< code>
可以发现程序运行正确,而且其对应指针的数值也改变了
2、通过返回值的方式传递 char * Getmemory(int n)