首页 > 编程知识 正文

C语言 sizeof,strlen c语言

时间:2023-05-03 05:06:05 阅读:162521 作者:4835

整个代码的效果# include stdio.h # include string.hint main (int argc,char const *argv[] () ) inta(8)={ 1,2,3 }; char b[]='love '; printf('%LD(n ),sizeof(a ) a ); printf('%LD(n ),sizeof(b ) b ); printf('%LD(n ),strlen(b ) b ); 返回0; }输出结果如3254上述代码所示,

从最初的printf可以得到sizeof的是数组实际占有的存储器的字节数。 因为是int型,所以每个int 4字节、8个要素,所以为32。

第二个printf是sizeof求出数组实际占用的内存字节数,并输入字符串结束符“ 0”

在第三个printf中,可以看到strlen需要字符串的实际长度

总结:

1、strlen计算字符串的具体长度,不含字符串终止符。 返回的是字符数。

2、sizeof计算宣言后所占的存储器数(字节大小)不是实际的长度。

3、sizeof是取字节的运算符,strlen是函数。

4、sizeof返回值=字符数*字符所占的字节数,字符的实际长度小于定义的长度。 在这种情况下,字符数等于定义的长度。 在没有给出定义的大小的情况下,对讨论进行分类,对于字符串数组,字符大小等于实际字符数1; 对于整数数组,字符数为实际字符数。 字符串为每个字符一个字节,整数数据的每个字符的字节数由系统的位数类决定,32位为4个字节。

判断sizeof数据类型长度符号的关键字

使用方法

sizeof (类型说明符) ) ) ) ) ) ) )。

sizeof公式

定义

sizeof是C/C的操作符,简单来说就是返回对象或类型所占用的内存字节数。 strlenstrlen(char* )函数求出字符串的实际长度,返回计数值直到遇到第一个“ 0”,但不包括“ 0”。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。