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 来获取所需的信息。

posted @   kksllss  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示