C语言如何确定一个指针是否已分配过的内存
C中可以用malloc()为指针分配内存,但是当我们不知道前面是些什么操作,的时候如何来确定某个指针的指向是否是已近分配过内存区域呢。比如说我只知道s是一个char*型的...
C中可以用malloc()为指针分配内存,但是当我们不知道前面是些什么操作,的时候如何来确定某个指针的指向是否是已近分配过内存区域呢。
比如说我只知道s是一个char *型的变量,如何确定s的指向是否是一个已经申请过的内存空间呢,用判断s是否等于NULL好像不是很管用,因为刚申明后的变量是随机分配值的,不能够保证一定为NULL啊。
谢谢。。。。 展开
比如说我只知道s是一个char *型的变量,如何确定s的指向是否是一个已经申请过的内存空间呢,用判断s是否等于NULL好像不是很管用,因为刚申明后的变量是随机分配值的,不能够保证一定为NULL啊。
谢谢。。。。 展开
展开全部
没得办法,只能靠自己注意了,使用NULL来判断,自己养成良好的习惯以后这应该不是什么问题。
初始化的时候要, char *s = NULL;
内存释放完以后也要, free(s); s = NULL;
初始化的时候要, char *s = NULL;
内存释放完以后也要, free(s); s = NULL;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-05-17
展开全部
如果malloc()分配失败,就会返回NULL,如果成功,那么返回的就是这段空间的首地址,而不会是NULL,可以据此判断malloc()分配是否成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义的时候赋值为NULL,后面就可以判断了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
内存操作是危险的.所以不能.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询