strlen与sizeof 的基本用法

2024-02-20 13:16:27 浏览数 (2)

1. sizeof

sizeof 运算符用于获取数据类型、变量或表达式所占用的内存大小(以字节为单位)。

1.2 基本用法

获取类型长度

代码语言:javascript复制
size_t sizeof_datatype = sizeof(type);

获取变量长度

代码语言:javascript复制
size_t sizeof_variable = sizeof(variable);

示例用法:

1.2.1 获取数据类型的大小:
代码语言:javascript复制
#include <iostream>
using namespace std;

int main()
{
    cout<<sizeof(int)<<endl;//4
    cout<<sizeof(char)<<endl;//1
    cout<<sizeof(double)<<endl;//8

    return 0;
}
1.2.2 获取变量的大小:
代码语言:javascript复制
#include <iostream>
using namespace std;

int main()
{
    int x;
    size_t x_size = sizeof(x);
    cout<<x_size<<endl;//4

    int buffer[100];
    size_t buffer_size = sizeof(buffer);
    cout<<buffer_size<<endl;//400

    size_t buffer_size2 = sizeof(buffer[0]);
    cout<<buffer_size2<<endl;//4

    return 0;
}
1.2.3 获取表达式的大小:
代码语言:javascript复制
#include <iostream>
using namespace std;

int main()
{
    size_t expr_size = sizeof(1   2.0);
    cout<< expr_size<<endl;//8

    return 0;
}
1.2.4 我一般这样用的最多:
代码语言:javascript复制
#include <iostream>
using namespace std;

int main()
{
    int arr[100];
    int n=sizeof(arr) / sizeof(arr[0]);//存储arr的数组大小

    return 0;
}

2. strlen

strlen用于计算一个以null终止字符数组(即C字符串)的长度,也就是字符串中字符的数量,但不包括字符串结尾的null字符 (''),即hello长度就是5.

使用该函数需要导入库函数

代码语言:javascript复制
#include <string.h>

示例

代码语言:javascript复制
#include <stdio.h>
#include <string.h>

int main() {
    const char *str = "Hello";
    size_t length = strlen(str);
    
    printf("字符串 "%s" 的长度是 %zun", str, length);//字符串 "Hello" 的长度是 5
    
    return 0;
}

0 人点赞