TypechoJoeTheme

鱼一的博客 ◡̈

yuyi

知不可乎骤得,托遗响于悲风
网站页面
标签搜索
文章目录
c++

strlen&&sizeof

strlensizeof是C和C++中常用的两个操作,但它们用于不同的目的:

strlen

  • strlen函数用于计算字符串的长度,不包括终止字符\0
  • 它是C标准库的一部分,在<cstring><string.h>头文件中定义。
  • strlen只能用于以null结尾的字符数组(C风格字符串),它通过遍历字符串直到找到\0来计算字符串的长度。

sizeof

  • sizeof是一个编译时操作符,用于计算类型或变量占用的字节数。
  • 它可以用于任何类型的对象,包括基本类型(如intfloat)、数组、结构体等,并且结果在编译时就已确定。
  • 对于数组,sizeof返回的是整个数组占用的内存大小,而不是数组中存储的字符串的长度。

示例

#include <iostream>
#include <cstring> // 对于C++,包含strlen

int main() {
    char str[] = "hello"; // 字符串"hello"实际占用6个字节:'h', 'e', 'l', 'l', 'o', '\0'

    std::cout << "strlen(str) = " << strlen(str) << std::endl; // 输出字符串长度5,不包括'\0'
    std::cout << "sizeof(str) = " << sizeof(str) << std::endl; // 输出数组总大小6,包括'\0'

    return 0;
}

在这个示例中:

  • strlen(str)计算的是字符串"hello"的长度,即5,因为它不计算终止字符\0
  • sizeof(str)计算的是数组str的总大小,即6个字节:5个字母加上一个终止字符\0

这个例子清晰地展示了strlensizeof的区别:strlen用于计算字符串的实际长度(不包括\0),而sizeof用于计算变量或类型所占用的内存大小。

赞(0)
版权属于:

鱼一的博客 ◡̈

本文链接:

https://yuyi.monster/archives/244/(转载时请注明本文出处及文章链接)

评论 (0)

More Info for me 📱

IP信息

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月