请教一下,以下C代码会有什么问题,会有内存泄露吗?
小弟新学C希望大家指点以下,非常感谢。
不包括检查内存益处。
void printvalue (const char *a)
{
char *b;
b=(char *)malloc(sizeof(char)*strlen(a)+1);
strcpy(b,a);
printf("%s\n",b);
return;
}
用这种方式:strcpy有什么问题
char *a[]="12345678";
char *b;
strcpy(b,a);
如果在b的声明该为char *b=NULL;
是不是可以防止野指针。
还有一个程序
void main(){
char *b=NULL;
b=getvalue();
//可以不需要free吗?如果不的话是否有内存泄露。如果getvalue不是在main中调用,是在其他的函数中呢?
free(b);
b=NULL;
}
char *getvalue(){
char *a;
char *b[]="123456789";
a=(char*)malloc(sizeof(char)*strlen(b)+1);
strcpy(a,b);
return a;
}
谢谢大家。
请教一下,以下C代码会有什么问题,会有内存泄露吗?
不包括检查内存益处。
void printvalue (const char *a)
{
char *b;
b=(char *)malloc(sizeof(char)*strlen(a)+1);
strcpy(b,a);
printf("%s\n",b);
return;
}
用这种方式:strcpy有什么问题
char *a[]="12345678";
char *b;
strcpy(b,a);
如果在b的声明该为char *b=NULL;
是不是可以防止野指针。
还有一个程序
void main(){
char *b=NULL;
b=getvalue();
//可以不需要free吗?如果不的话是否有内存泄露。如果getvalue不是在main中调用,是在其他的函数中呢?
free(b);
b=NULL;
}
char *getvalue(){
char *a;
char *b[]="123456789";
a=(char*)malloc(sizeof(char)*strlen(b)+1);
strcpy(a,b);
return a;
}
谢谢大家。
请教一下,以下C代码会有什么问题,会有内存泄露吗?
...全文
相关推荐
CString内存泄露HTML.rar
`求救:是内存泄露吗? - 边缘软件 - 棋牌游戏开发,棋牌游戏制做,棋牌游戏运营,棋牌游戏推广.htm`: 这篇文章可能是开发者在特定项目中遇到内存问题的求助,可能涉及CString。6.
android项目内存泄露排查实用.pdf
解决方法:* 问题是 JNI 调用 C 泄漏了 native 内存(相关资料:http://code.google.com/p/android/issues/detail?id=9904)。
12个有趣的C语言面试题
四、内存泄露问问题:下面的代码会导致内存泄漏吗?
block的循环引用导致的内存泄露的示例及解决办法
然而,如果不正确地使用Block,可能会导致循环引用(retain cycle),进而引发内存泄露。本文将深入探讨Block引起的循环引用问题,提供示例并分享解决方案。一、什么是循环引用?
嵌入式面试技术问题汇总_嵌入式-常用知识&面试题库_大厂面试真题.docx
C 语言程序的内存分布包括:* 代码段* 数据段* 堆栈段* 栈段35. 虚析构函数有什么作用?虚析构函数是一种特殊的析构函数,用于释放对象的资源。36. 进程和线程的区别?


