C语言中的字符串

一、什么是字符串?

在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。

空字符(Null character)又称结束符,缩写 NULL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。

二、字符串的输入和输出

#include <stdio.h>
int main()
{
    //字符串的定义
    char cdata1[] = "I am a student";
    char cdata2[15] = {'I','\0','a','m','\0','a','\0','s','t','u','d','e','n','t','\0'};
    char *p = "I am a student"//字符串常量,不允许被修改
    /*字符数组的输入输出可以有两种方法。
    (1)逐个字符输入输出。用格式符“%c”输入或输出一个字符
    (2)将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串(string)的输入输出*/
    for(int i=0;i<15;i++){
        printf("%c",cdata2[i]);
    }
    printf("\n%s",cdata1);
    printf("\n%s",cdata2);//用%s输出cdata2,遇到空字符会提前结束打印
    return 0;
}
/*运行结果
I am a student
I am a student
I*/

三、处理字符串的常见函数

1、puts函数

输出字符串的函数

一般形式 puts(str);
str -- 这是要被写入的C字符串。
自带换行符,其作用是将一个字符串(以'\0'结束的字符序列)输出到终端。

2、gets函数

输入字符串的函数

一般形式 gets(str);
str -- 这是指向一个字符数组的指针,该数组存储了C字符串。
其作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。

3、strcat函数

字符串连接函数

一般形式 strcat(str1,str2);
其作用是把两个字符串连接起来:
将字符串str2连到字符串str1后面。函数调用后得到字符串str1的地址。

函数原型 char *strcat(char *dest, const char *src);
dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

//strcat函数使用方法
#include <stdio.h>
#include <string.h>
#include <assert.h>//assert的头文件
int main()
{
    //char *strcat(char *dest, const char *src);函数原型
    char str1[] = "Changcheng";
    char str2[] = " Pao!";
    strcat(str1,str2);
    printf("%s",str1);
    return 0;
}
/*运行结果:
Changcheng Pao!*/
​
//strcat的函数实现
char *myStrcat(char*dest,const char *src)
{
    if(dest == NULL && src == NULL){//先判断两个字符串是否为空
        return NULL;
    }
    char *bak = dest;//先将dest的地址备份
    while(*dest != '\0'){//定位到dest的末尾
        dest++;
    }
    while(*dest++ = *src++);//将src的内容复制到de
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值