C语言中申请字符数组内存,并为其赋值后无法使用 free 释放
C语言中申请字符串内存,并为其赋值后无法使用 free 释放,并出现:Trace/breakpoint trap。
原因:使用等号对申请内存得到的字符串进行赋值,请使用其他的方法,例如:strcpy(st21,str2) 或 puts (str)。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argv, const char* argc[]) { system("chcp 65001"); char* str = NULL; str = (char*)malloc(1000); str = "你好世界";//出错,请使用 strcpy() // strcpy(str, "你好世界"); free(str); str = NULL; getchar(); return 0; }
相关推荐
ThinkingLink 2020-01-11
twater000 2020-05-18
KilluaZoldyck 2020-02-23
angqiuli 2019-12-28
zzpdljd 2011-12-27
DishChickenC 2019-04-28
风和日丽 2019-06-28
oluckly 2012-08-14
86570895 2019-06-21
徐建岗网络管理 2012-07-06
lundongcai 2016-08-30
itkissit 2009-11-16
cabbges 2009-09-18
丁一鸣的CSDN 2014-05-19
electricperi 2012-11-25
wangtengphp 2014-03-21