C sizeof与strlen的区别

记录

用memcoy对数组进行赋值时,使用关键字sizeof()获取数据长度,导致hardfault内存溢出,修改为strlen解决。
[头文件:#include<string.h>,函数原型:void memcpy(voiddest, const void *src, size_t n)]

sizeof与strlen的差别

char str[20] = "0123456789"; 
int a = strlen(str); /* a = 10;strlen 计算字符串的长度,以\0'为字符串结束标记 */
int b = sizeof(str); /* b = 20;sizeof 计算的则是分配的数组str[20]所占的内存空间的大小,不受里面存储的内容影响 */
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章