为啥这段代码编译没警告,运行不出错
为什么这段代码编译没警告,运行不出错?#include stdio.h#include stdlib.h#include string.hint mai
为什么这段代码编译没警告,运行不出错?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
char *p = malloc(100);
strcpy(p,"asdfsadfasd");
free(p);
printf("%s\n",p);
return 0;
}
root@ubuntu:~/liang/k-r# cc free-mal.c -Wall
root@ubuntu:~/liang/k-r# ./a.out
asdfsadfasd
root@ubuntu:~/liang/k-r#
[解决办法]“malloc”和“free”
相当于
“借”和“还”
而不相当于
“创造”和“销毁”!