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'};
|
您还可以通过字符串文字定义字符串。 例如:
在这种情况下,'\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.yiibai.com";
printf("Char Array Value is: %s\n",
ch);
printf("String Literal Value is: %s\n",
ch2);
}
|
执行上面示例代码,得到以下结果 -
Char Array
Value is: yiibai.com
String Literal Value is: www.yiibai.com |
|