如何利用strlen以及sizeof进行字符串长度的运算

这篇文章将为大家详细讲解有关如何利用strlen以及sizeof进行字符串长度的运算,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

十年的霍州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整霍州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“霍州网站设计”,“霍州网站推广”以来,每个客户项目都认真落实执行。

首先,strlen是函数,sizeof是运算操作符,二者得到的结果类型为size_t,即unsignedint类型。大部分编译程序在编译的时候就把sizeof计算过了,而strlen的结果要在运行的时候才能计算出来。

对于以下语句:

char*str1="asdfgh";

charstr2[]="asdfgh";

charstr3[8]={'a','s','d'};

charstr4[]="as\0df";

执行结果是:

sizeof(str1)=4;strlen(str1)=6;

sizeof(str2)=7;strlen(str2)=6;

sizeof(str3)=8;strlen(str3)=3;

sizeof(str4)=6;strlen(str4)=2;

str1是字符指针变量,sizeof获得的是该指针所占的地址空间,32位操作系统对应4字节,所以结果是4;strlen返回的是该字符串的长度,遇到\0结束,\0本身不计算在内,故结果是6。

str2是字符数组,大小由字符串常量"asdfgh"确定,sizeof获得该数组所占内存空间大小,包括字符串结尾的\0,所以结果为7;strlen同理返回6。

str3也是字符数组,但大小确定为8,故sizeof得到的结果是8;strlen统计\0之前所有字符的个数,即为3;

str4是常量字符数组,sizeof得到字符总数即6;strlen计算至\0结束,因此返回2;

总结一句就是sizeof计算的是变量的大小,而strlen计算的是字符串的长度,前者不受字符\0影响,后者以\0作为长度判定依据。

关于如何利用strlen以及sizeof进行字符串长度的运算就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文名称:如何利用strlen以及sizeof进行字符串长度的运算
浏览地址:http://azwzsj.com/article/gdgddd.html