千家信息网

如何进行sizeof和strlen解析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章的内容主要围绕如何进行sizeof和strlen解析进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!1
千家信息网最后更新 2026年10月31日如何进行sizeof和strlen解析

这篇文章的内容主要围绕如何进行sizeof和strlen解析进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

1.strlen函数.

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符 '\0'为止,然后返回计数器值。

2.sizeof操作符

sizeof()返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符。

3.strlen和sizeof的区别

3.1 sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。

3.2 sizeof还可以用函数做参数,比如:short f(); printf("%d\n", sizeof(f()));输出的结果是sizeof(short),即2。

3.3 数组做sizeof的参数不退化,传递给strlen就退化为指针了。

3.4 大部分编译程序在编译的时候就把sizeof计算过了是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因。

3.5 strlen的结果要在运行的时候才能计算出来,是用来计算字符串的长度,不是类型占内存的大小。

3.6 sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。

4.举例区别strlen和sizeof

1.char str[20]="0123456789";

int a=strlen(str); //a=10; >>>> strlen 计算字符串的长度,以结束符 0x00 为字符串结束。   

int b=sizeof(str); //而b=20; >>>> sizeof 计算的则是分配的数组 str[20] 所占的内存空间的大小,不受里面存储的内容改变。

2.上面是对静态数组处理的结果,如果是对指针,结果就不一样了   

char* ss = "0123456789";   

sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针,sizeof 获得的是一个指针的之所占的空间,应该是长整型的,所以是4

而sizeof(*ss) 结果 1 ===》*ss是第一个字符,其实就是获得了字符串的第一位'0' 所占的内存空间,是char类型的,占了 1位

strlen(ss)= 10 >>>> 如果要获得这个字符串的长度,则一定要使用 strlen。 sizeof返回对象所占用的字节大小. strlen返回字符个数。

3.在使用sizeof时,有一个很特别的情况,就是数组名到指针蜕变,

char Array[3] = {'0'};   

sizeof(Array) == 3;   

char *p = Array;   

strlen(p) == 1;//sizeof(p)结果为4   

在传递一个数组名到一个函数中时,它会完全退化为一个指针

4. 内存补齐

class X

{

  int i;

  int j;

  char k;

};

X x;

cout<

cout<

内存补齐是一个在笔试面试中比较容易考的知识点

感谢你的阅读,相信你对"如何进行sizeof和strlen解析"这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注网站!小编会继续为大家带来更好的文章!

字符 内存 结果 字符串 指针 数组 函数 类型 长度 参数 内容 变量 大小 就是 操作符 空间 位置 括弧 文章 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技网 互联网科技行业发展 互联网下的科技发展 重庆互联网络科技 科技服务与互联网 互联网金融公司科技 新浪科技互联网 盛创互联网科技有限公司 海南购全球互联网科技 科技互联网的估值 剑昆互联网络科技有限公司临桂 互联网金融科技公司干啥的 南山科技园互联网公司有哪些 互联网科技与管理 青岛科技大学互联网大赛研究生 湖南一路畅行互联网科技 佛山市拉法互联网科技有限公司 35岁以上互联网科技行业 黑龙江互联网科技公司 株洲百竞科技的互联网营销顾问 哈尔滨大商圈互联网科技有限公司 中盈科技互联网信息有限公司 阿大互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 互联网科技人工智能实验室 世界互联网科技成果奖 版纳互联网科技选哪家 北京军民互联网科技公司 互联网科技的前景 山东亿川互联网科技有限责任公司
0