网站建设模板登录界面,网上下载的网站模板怎么用,wordpress中医主题,遵义网页一、sizeof 和 strlen 的对比
1、sizeof
sizeof是操作符#xff0c;计算变量所占内存内存空间⼤⼩的#xff0c;单位是字节#xff0c;如果操作数是类型的话#xff0c;计算的是使⽤类型创建的变量所占内存空间的⼤⼩。 sizeof 只关注占⽤内存空间的⼤⼩#xff0c;不在…一、sizeof 和 strlen 的对比
1、sizeof
sizeof是操作符计算变量所占内存内存空间⼤⼩的单位是字节如果操作数是类型的话计算的是使⽤类型创建的变量所占内存空间的⼤⼩。 sizeof 只关注占⽤内存空间的⼤⼩不在乎内存中存放什么数据。
#inculde stdio.h
int main()
{int a 10;printf(%d\n, sizeof(a));printf(%d\n, sizeof a);printf(%d\n, sizeof(int));return 0;
}2、strlen
strlen 是C语言库函数功能是求字符串长度。函数原型如下
size_t strlen ( const char * str );
统计的是从 strlen 函数的参数 str 中这个地址开始向后 \0 之前字符串中字符的个数。 strlen 函数会⼀直向后找 \0 字符直到找到为⽌所以可能存在越界查找。
#include stdio.h
int main()
{char arr1[3] { a, b, c };char arr2[] abc;printf(%d\n, strlen(arr1));printf(%d\n, strlen(arr2));printf(%d\n, sizeof(arr1));printf(%d\n, sizeof(arr2));return 0;
}
3、sizeof 和 strlen的对比
siazefstrlen 1、sizeof 是操作符 2、sizeof计算操作数所占内存的大小单位是字节 3、不关注内存中存放什么数据 4、不挑类型。 1、strlen是库函数使⽤需要包含头⽂件 string.h; 2、strlen 是求字符串长度统计的是\0之前的个数 3、关注内存中是否有\0如果没有就会继续往后寻找可能会发生越界 4、只针对字符串。 二、数组和指针笔试题解析 三、指针运算笔试题解析