C语言基础知识——字符串

提示:本文是对C语言基础知识:字符串、字符和字节部分的回顾总结。


字符串基础

C语言并没有显式的字符串数据类型,因为字符串以 字符串常量的形式出现 或者 存储于字符数组中。

字符串 :就是一串零个或多个字符,并且以一个 位模式为全0的 NUL 字节结尾。

NUL字节 是字符串的终止符,但它本身并不是字符串的一部分,所以字符串的长度并不包括 NUL 字节。

头文件 string.h 包含了使用字符串函数所需的原型和声明。


字符串长度

字符串的长度就是它所包含的字符个数。

库函数 strlen 的原型如下:

size_t strlen( char const *string );

strlen返回一个类型为 size_t 的值,这个类型是在头文件 stddef.h 中定义的,它是一个 无符号整数类型

/*
** 计算字符串参数的长度
*/
#include<stddef.h>

size_t strlen( char const *string )
{
   
	unsigned int length;
	
	for( length = 0; *string++ != '\0'; )	//*string++,是字符串指针string++,然后再取引用
		length += 1;
	
	return length;
} 

不受限制的字符串函数

最常用的字符串函数都是“不受限制”的,就是说它们只是通过寻找字符串参数结尾的 NUL 字节来判断它的长度。

复制字符串

复制字符串的函数是 strcpy,原型如下:

char *strcpy( char *dst, char const *src );
/*此函数把参数 src字符串复制到 dst 参数。*/

由于 dst 参数将进行修改,所以它必须是个字符数组或者是一个指向动态内存的数组指针,不能使用字符串常量。

目标参数的以前内容将被覆盖并丢失。即使新的字符串比 dst 原先的内存更短,由于新的字符串是以 NUL字节结尾,,所以老字符串最后剩余的几个字符也将会被有效删除。
例如:

cahr message[] = "Original message";
...
if ( ... )
	strcpy( message, "Different" );

程序员必须保证目标字符数组的空间足以容纳需要复制的字符串。


连接字符串

将一个字符串添加(连接)到另一个字符串的后面的函数是 strcat ,原型如下:

char *strcat( char *dst, char const *src );

strcat 函数要求 dst 参数原先已经包含了一个字符串(可以是空字符串)。

程序员必须保证目标字符数组剩余的空间足以保存整个源字符串。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值