作者:--
发布时间:2019-11-20
评论:0
阅读:0
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[]="h3.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.h3.com";
printf("char array value is: %s\n", ch);
printf("string literal value is: %s\n", ch2);
}
执行上面示例代码,得到以下结果 -
char array value is: h3.com
string literal value is: www.h3.com