【C语言】字符数组

字符串常量:

“你好”,“hello word”

字符串数组:

int main{
//初始化字符数组的每个元素
char str1[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘\0’};
//可以不写元素的个数,因为编译器会自动计算
char str2[]={‘H’,‘e’,‘l’,‘l’,‘o’,‘\0’};
//使用字符串常量初始化字符数组
char str3[]={”Hello“};
//使用字符串常量初始化,可以省略大括号
char str4[]=”Hello“;

}

字符串处理函数

strcat–连接字符串<string.h>
strcmp–比较字符串<string.h>
strcpy–拷贝字符串<string.h>
strlen–获取字符串长度<string.h>
strncat–连接字符串(受限)<string.h>
strncmp–比较字符串(受限)<string.h>
strncpy–拷贝字符串(受限)<string.h>

-strlen获取字符串长度

 char str[]="Hello";
    printf("sizeof str=%d\n",sizeof(str));
    printf("strlen str=%u\n",strlen(str));

在这里插入图片描述
-strcpy和strncpy拷贝字符串

 char str1[]="Original String";
 char str2[]="New String";
 char str3[100];

 strcpy(str1,str2);
 strcpy(str3,"Copy Successful");

 printf("strl:%s\n",str1);
 printf("str2:%s\n",str2);
 printf("str3:%s\n",str3);

在这里插入图片描述
【注】str1的长度必须得容纳str2

-strncpy拷贝字符串数组时可以规定拷贝的字符串长度

char str1[]="To be or not to be";
    char str2[40];

    strncpy(str2,str1,5);
    str2[5]='\0';

    printf("str2:%s\n",str2);

在这里插入图片描述
【注】需要手动添加末尾空字符’\0’否则会读取到乱码。

strcat连接字符串

char str1[]="I love ";
    char str2[]="cccccc";

    strcat(str1,"");
    strcat(str1,str2);

    printf("str1: %s \n",str1);

在这里插入图片描述
strncat添加一个参数用来限制连接的字符数,同样末尾需要自己手动添加’\0’。
strcmp和strncmp比较字符串

    schar str1[]="I love ";
    char str2[]="I love ";

    if (!strcmp(str1,str2))
    {
        printf("两个字符串完全一致!\n");
    }
    else
    {
        printf("两个字符串存在差异!\n");
    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值