C语言的字符串

在 C 语言中,字符串实际上是使用 null 字符 ‘\0’ 终止的一维字符数组。
Ps:char 型变量默认初始化的值为 ‘\0’
由于在数组的末尾存储了空字符,所以字符数组的大小比单词 “Hello” 的字符数多一个。
其实,不需要把 null 字符放在字符串常量的末尾。C 编译器会在初始化数组时,自动把 ‘\0’ 放在字符串的末尾。

#include <stdio.h>

int main() {
    char s1[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    printf("%s\n", s1);
    char *s2 = "Hello"; // 常用
    printf("%s\n", s2);
    return 0;
}
Hello
Hello

字符串函数

序号函数 & 目的
1strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
2strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
3strlen(s1);
返回字符串 s1 的长度。
4strcmp(s1, s2);
如果 s1 = s2,则返回 0;
如果 s1 < s2,则返回小于 0;
如果 s1 > s2,则返回大于 0。
5strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
6strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。


#include <stdio.h>
#include <string.h>

int main() {
    char str1[12] = "Hello";
    char str2[12] = "World";
    char str3[12];

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

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

    printf("strlen(str1): %d\n", strlen(str1));

    if (strcmp(str1, str2) < 0) {
        printf("str1 < str2\n");
    }

    char *c = strchr(str1, 'l');
    printf("%s\n", c);

    char *p = strstr(str1, "oWo");
    printf("%s", p);

    return 0;
}
strcpy(str3, str1): Hello
strcat(str1, str2): HelloWorld
strlen(str1): 10
str1 < str2
lloWorld
oWorld
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值