C语言字符串

C语言中的字符串是由\0(空字符)终止的字符数组。

在C语言中有两种方法可以用来声明字符串。

  • 通过字符数组
  • 通过字符串文字

我们来看一下C语言中用char数组声明字符串的例子 -

char ch[11]={'y', 'i', 'i', 'b', 'a', 'i', '.', 'c', 'o', 'm', '\0'};

如你所知,数组索引从0开始,所以它将如下图表所示 -

0 1 2 3 4 5 6 7 8 9 10
y i i b a i . c o m \0

在声明字符串时,如果不想数组大小是强制性的。 那么可以将上面的代码改写为如下:

char ch[]={'j', 'a', 'v', 'a', 't', 'p', 'o', 'i', 'n', 't', '\0'};

您还可以通过字符串文字定义字符串。 例如:

char ch[]="xuhuhu.com";

在这种情况下,'\0'将由编译器自动在字符串末尾附加。

char数组和字符串文字之间的区别

唯一的区别是字符串字面值不能改变,而由char数组声明的字符串可以更改。

C语言字符串示例

我们来看一个简单的例子来声明和打印字符串。 '%s'用于打印字符串。创建一个源文件:string-print.c,其代码如下 -

#include <stdio.h>  
void main()
{
    char ch[11] = { 'y', 'i', 'i', 'b', 'a', 'i', '.', 'c', 'o', 'm', '\0' };
    char ch2[] = "www.xuhuhu.com";

    printf("Char Array Value is: %s\n", ch);
    printf("String Literal Value is: %s\n", ch2);
}

执行上面示例代码,得到以下结果 -

Char Array Value is: xuhuhu.com
String Literal Value is: www.xuhuhu.com

上一篇: C语言指针算术运算 下一篇: C语言gets()和puts()函数