正在加载……
专注、离线、切勿分心
char *str=NULL;
str=(char*)calloc(128,sizeof(char));

memset(str,'\0',128);  // 不建议用
memset(str,'\0',strlen(str));   
memset(str,'\0',sizeof(str)); // error,sizeof(str)得到的是指针str的大小 4 用完数组后——>   free(str);   str=NULL;
char str[128];
memset(str,'\0',sizeof(str));
  // sizeof(str)==128;

区别
定义的字符数组中,calloc 动态分配空间会直接初始化为全 0 或 ‘\0’ 这两个都是一样的。一般定义数组的时候一定初始化为空,还有动态分配最后一定要free并且让指针为NULL,防止空指针。





posted on 2017-12-11 15:54  正在加载……  阅读(269)  评论(0编辑  收藏  举报