C中的字符串

简介: C中的字符串

C中没有字符串(有序字符的集合)的概念:

     c中通过特殊的字符数组模拟字符串

     c中的字符串是以‘\0’结尾的字符数组

C中,双引号引用的单个或多个字符是一种特殊的字面量:

     存储于程序的全局只读存储区中

     本质为字符数组,编译器自动在结尾加上'\0'字符

char b = "abc"[0];
    char c = *("123" + 1);
    char t = *"";
    printf("%c\n", b);------->a
    printf("%c\n", c);------->2
    printf("%d\n", t);------->0


字符串字面量本质是一个数组,可以看做常量指针,字符不可改变,至少包含一个字符

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

  字符串长度指的是第一个'\0'字符前出现字符的个数,用strlen来返回字符串的长度

    char s[] = "Hello\0world";
    int i = 0;
    for(i=0; i<sizeof(s)/sizeof(char); i++)
    {
        printf("%c\n", s[i]);
    }------>Helloaworlda
    printf("%s\n", s);----->Hello
    printf( "%d\n", strlen(s) );---->5
    printf( "%d\n", strlen("123") );----->3


相关文章
|
8月前
|
存储 算法 编译器
|
2月前
|
JavaScript 前端开发 Java
字符串运用
【10月更文挑战第17天】
|
8月前
|
存储 C语言
c字符串
c字符串
43 0
|
8月前
|
C#
C#字符串
C#字符串
52 0
|
Java C语言
字符串的简单介绍和字符串的大小比较
字符串的简单介绍和字符串的大小比较
8 字符串
8 字符串
62 0
如何将一个字符串按要求切割成多个字符串
很少有机会碰到一些实际数据处理问题,简单记录下自己的实现 此问题具体要求: 原字符串:一二三四五 输入1:一,二,三,四,五 输入2:一二,三四,五 输入3:一二三,四五 ...
187 0