关于malloc()使用一问?
#include <stdio.h> #include <stdlib.h>
#include "conio.h"
main()
{
char *Ptr = NULL;
Ptr = (char *)malloc(100);
if (NULL == Ptr)
{
exit (1);
}
gets(Ptr);
printf("%s\n",Ptr);
free(Ptr);
Ptr = NULL;
}
请问用malloc(100);分配的空间长度有什么作用,我用malloc(100);和用malloc(10);的时候在为gets(Ptr);输入字符串的时候,长度也不受malloc(10)中的长度限制呀?就是超过了10个也能正常输出显示呀,希望哪位朋友给个解释,谢谢了
----------------解决方案--------------------------------------------------------
这应该是因为你的操作并不多,所以10个字节后的空间并没有被其他程序占用,因此输出正常
----------------解决方案--------------------------------------------------------
超过10个但你的程序没有当掉??
你用VC试试看
[color=white]
----------------解决方案--------------------------------------------------------
谢谢大家,我好像明白点了,我试试
----------------解决方案--------------------------------------------------------