问题描述
- 关于xcode的一个问题,有关内存释放的问题
-
char arr[] = "The secret of success is constancy to purpose"; long a = strlen(arr);
char *p = malloc(a +1);
p = arr;
*(p+a) = '';
printf("%s",p);
free(p);
p = NULL;没有下面的内存释放语句是没有问题的,加上之后就出现了问题
解决方案
p = arr;
你这样把p的地址修改了,这样后面free的时候就会有问题
你应该用strcpy(p, arr)来复制内容
时间: 2024-09-24 19:48:29