Strings

Strings

C 语言中的 string 是内存中的一个字节序列,通常包含一串字母。C 语言中的字符串常量双引号引上。比如最经典的 Hello World 程序:

# include <stdio.h>

int main(void) {
    printf("Hello World!\n");
    return 0;
}

那么, string 到底是什么类型呢?字符串常量的类型是 char* 。但是你也可以把一个字符串放在一个 char 型的数组中。char* 指针指向的是字符串的第一个字符。

char *s = "Hello!";

printf("%s\n", s);    /* prints "Hello!" */
printf("%c\n", *s);   /* prints 'H' */
printf("%c\n", s[0]); /* prints 'H' */
printf("%c\n", s[1]); /* prints 'e' */
printf("%c\n", s[4]); /* prints 'o' */

%c 用来打印单个字符,%s用来打印一个字符串

同样,也可以在定义时就初始化 char 数组:

char s[20] = "The aliens are comming!";

也可以在运行期修改数组元素:

char s[20] = "Give me $10!";

printf("%s\n", s);  /* prints "Give me $10!" */

s[9] = '8';
printf("%s\n", s);  /* prints "Give me $80!" */

注意到,字符常量使用的是单引号。

还有一件事需要记住的是:当指明一个数组名时(不带中括号),就像使用一个指向数组首元素的指针:

char a[20] = "Cats are better.";
char*  p;
p = a; // p 现在指向了 a 的第一个元素

请注意

C 中的字符串是以 NULL 字符结尾的,也就是 0 (正确的写法是 “\0”).你可以在字符串中添加 “\0” 来截断这个字符串。另外,所有的字符串操作都假设它是以 NULL 字符结尾的。

posted @ 2016-07-24 19:58  1202zhyl  阅读(125)  评论(0编辑  收藏  举报