strlen和sizeof的比较
strlen 和 sizeof 是 C 语言中用于获取数据长度的两个不同函数,它们有不同的用途和行为。
strlen
头文件:需要包含 <string.h> 头文件。
功能:计算以空字符('\0')结尾的字符串的长度,不包括终止的空字符。
参数:一个指向字符数组(字符串)的指针。
返回值:返回字符串的长度(整数类型 size_t)。
示例:
include <stdio.h>
include <string.h>
int main() {
char str[] = "Hello, World!";
printf("Length of string "%s" is %lu.\n", str, strlen(str));
return 0;
}
输出:
Length of string "Hello, World!" is 13.
sizeof
头文件:不需要额外的头文件,它是 C 语言的一个运算符。
功能:计算变量或数据类型所占的内存大小(以字节为单位)。
参数:可以是数据类型、变量、指针、数组或结构体等。
返回值:返回所计算对象的大小(整数类型 size_t)。
示例:
include <stdio.h>
int main() {
char str[] = "Hello, World!";
printf("Size of string array "%s" is %lu bytes.\n", str, sizeof(str));
printf("Size of char is %lu byte.\n", sizeof(char));
printf("Size of int is %lu bytes.\n", sizeof(int));
return 0;
}
输出:
Size of string array "Hello, World!" is 14 bytes.
Size of char is 1 byte.
Size of int is 4 bytes.
区别总结
用途:
strlen 用于计算字符串的长度(不包括终止的空字符)。
sizeof 用于计算变量或数据类型所占的内存大小。
参数类型:
strlen 接受一个指向字符数组的指针。
sizeof 可以接受数据类型、变量、指针、数组或结构体等。
包含头文件:
strlen 需要包含 <string.h>。
sizeof 不需要额外的头文件。
返回值:
strlen 返回字符串的长度。
sizeof 返回对象所占的内存大小。
通过理解这些区别,可以正确地使用 strlen 和 sizeof 来获取所需的信息。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验