c oth

时间:2023-03-09 00:14:09
c oth

body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(2n){background-color: #f8f8f8;}

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,防止空指针。