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]所占的内存空间的大小,不受里面存储的内容影响 */

猜你喜欢

转载自blog.csdn.net/xiaogu0322/article/details/100538924
今日推荐