3个功能
C 语言提供了 () 函数来查找字符串的长度。函数定义如下:
整数 (*s);
包含的头文件有:
#
作用是求参数s所指向的字符串的长度。在“数组”一章中,解释了字符串的定义。C语言规定字符串必须使用”字符作为最后一个字符,即字符串的结束字符,称为字符串的结束字符。字符串终止符 ” 的 ASCII 值为 0。
例如,像“abcde”这样的字符串实际上包含 6 个字符,分别是:
‘a’,’b’,’c’,’d’,’e’,”
如您所见,字符串由多个单独的字符组成,其中最后一个字符必须是字符串终止符”。
然后,我们可以将字符串分配给字符数组c语言 字符串选择语句,如下所示:
字符数组[6] = {‘a’,’b’,’c’,’d’,’e’,”};
下面是一个测试示例:
运行结果如下:
可以看出定义了字符数组array,数组名代表首地址。因此,数组名array可以表示指向数组数组存储数据的内存块的指针。
然后,(数组);获取数组指向内存块的字符数。而且,在统计字符数的时候,遇到字符串终止符”就认为结束了。因此,() 函数返回的字符串长度不包括字符串的结束字符。
然后,我们可以写一个测试例子,设置array[3] = ”,即设置数组中下标为3的元素为字符串终止符。测试代码如下:
运行程序的结果如下:
此时array[6]中的数据等价于{‘a’, ‘b’, ‘c’, ”, ‘e’,”};然后,使用()函数获取字符串编号时,从array指向的第一个元素开始计数,第四个元素为”字符,即字符串终止符。
因此,() 在遇到字符串终止符后结束字符串的长度计算。
5 比较与差异
C语言中定义了运算符,用于获取变量或类型所占用的容量。而 () 是一个获取字符串长度的函数。一个程序测试的例子如下:
运行程序的结果如下:
如您所见,p1 是一个指向字符串的指针。然后c语言 字符串选择语句,() 函数可以得到字符串的长度。运算符获取指针变量 p1 占用的内存空间大小。
那么,指针变量 p1 占用 4 个字节,所以 (p1) 返回值 4。
但是,如果操作符接收到一个字符串常量,那么它会返回该字符串常量所占用的内存空间。一个程序测试的例子如下:
运行程序的结果如下:
可以看到,操作符获取的是“”字符串占用的内存空间。它返回值 9,因为它占用了 9 个字节的内存空间。
注意“”包含字符串终止符”,所以一共包含9个字符,占用9个字节的内存空间。() 函数返回字符串中的实际字符数,返回值 8,不包括字符串终止符。
暂无评论内容