我不明白为什么整个事情都不起作用。
我只想malloc
在函数中做func
,当我从它返回时,malloc
消失了......我得到了
* 检测到 glibc./test: free(): 无效指针: 0xb76ffff4 * *
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
int func(char *p) {
p=(char*)malloc(1);
*p='a';
printf("1. p= %c\n",*p);
return 0;
}
int main()
{
char *p;
func(p);
printf("2. p= %c\n",*p);
free(p);
return 0;
}