美文网首页C语言
字符串_C语言

字符串_C语言

作者: MathCat | 来源:发表于2016-09-14 22:18 被阅读0次

定义

  • 字符串是一种重要的数据类型
  • C语言中,字符串以字符串常量的形式出现或存储于字符数组中
  • 字符串常量适用于程序不会对它们修改的字符串,其它字符串都必须存储于字符数组或动态分配的内存中
  • 头文件string.h包含了使用字符串函数所需的原型和声明

字符串本质上是一个带有"\0"为结束标识的字符数组 []可以为空

char name[] = "xianhe";
printf("%s\n",name);// 占位符为%s
char name1[6] = {'x','i','a','n','h','e'};

printf("%lu\n",sizeof(name1));// 打印长度
printf("%lu\n",sizeof(name));// 字符串多"\0"作为结束标志

专门操作C语言字符串的函数

字符串长度

strlen 获得字符串长度的函数

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

双引号里实际字符串的个数 区别好 sizeof
字符串拷贝 strcpy( , )

printf("%lu\n",strlen(name));// 
    char stu1[] = "12"; // 地址大
    char stu2[] = "anyao12231231323"; // 地址小
    printf("%s\n",strcpy(stu1, stu2));// 把后面的字符串 传给前边的字符串,前面的字符串被替换掉了

注意:最好使用字符串替换时,第一个字符串一定要 >= 第二个字符串的长度 否则可能会崩溃

!!!:这几个字符串是放在栈

字符串比较 strcmp( , )

找到第一个不相同的字符,比较他们的asscii码值,作差
字符串拼接 strcat( , )

    char letter[] = "bAa";
    char letter1[] = "bab";
    int count = strcmp(letter, letter1); 
    strcat(letter, letter1);// 把后边的字符串拼接到前面的字符串之后

    printf("%s\n",letter);

倒转字符串

   char c1[] ="abcdeqpef";// "edcba"
   
   for(int i = 0; i <strlen(c1) / 2; i++) {
        c1[i] = c1[i] ^ c1[strlen(c1) - i -1];
        c1[strlen(c1) - i -1] = c1[i] ^ c1[strlen(c1) - i -1];
        c1[i] = c1[i] ^ c1[strlen(c1) - i -1];
    }
    printf("%s\n",c1);

相关文章

  • C语言- 字符、字符数组

    字符数组和字符串 C语言中没有字符串这种数据类型,C语言中通过char型数组来替代字符串的功能。C语言中的字符串一...

  • 2018-05-13

    C语言:c语言中没有字符串类型,也没有字符串变量,字符串是放在字符型数组中的。 C语言数变量类型:整型、浮点型、v...

  • Redis 源码简洁剖析 02 - SDS 字符串

    C 语言的字符串函数 C 语言 string 函数[https://devdocs.io/c-strings/],...

  • C++11新特性(20)-用string对象处理文件名

    C风格字符串 从C语言开始,就已经实现了对字符串的支持。为了处理C风格字符串,C语言标准库提供了一组函数,它们被定...

  • C语言 字符串反转

    C语言 之 字符串反转

  • iOS开发系列文章[转]

    C语言 iOS开发系列--C语言之基础知识 iOS开发系列--C语言之数组和字符串 iOS开发系列--C语言之指针...

  • ==大疆-字符串最大

    字符串最大时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;...

  • Redis数据结构

    1 简单动态字符串 Redis 是用 C 语言写的,但是对于Redis的字符串,却不是 C 语言中的字符串(即以空...

  • Redis5.x底层数据结构之——字符串

    1 简单动态字符串 Redis是用C语言写的,但是Redis的字符串不是 C 语言中的字符串(即以空字符’\0’结...

  • 字符串类常用操作方法

    一、不可变字符串(NSString) // 在C语言中,使用ASCII编码的字符作为字符串,并且C语言中,并没有...

网友评论

    本文标题:字符串_C语言

    本文链接:https://www.haomeiwen.com/subject/shtbettx.html