在C语言中,“字符”与“字符串”之间,是有区别的。这一篇文章中,我们将介绍一下,在C语言中的“字符”与“字符串”,它们之间的区别。
首先,一个很明显的区别是:
“字符”,使用单引号作为定界符,而“字符串”,是使用双引号作为定界符。
我们可以先写一个定义“字符”的程序代码段:
上述C语言程序中,第5行,就是定义了一个“字符”变量str,定义“字符”变量的时候,使用关键字“char”,从本质上来说,关键字“char”定义的也是一个整数,这个整数在内存中占据一个字节。与ASCII码表相对应。比如常用的ASCII码表的对应关系是:数字48表示字符'0';数字65表示字符'A';数字97表示字符'a'
在定义一个“字符”的时候,定界符要写成单引号。在屏幕上打印一个字符的时候,需要在printf函数中,使用“%c”这个占位符。
我们再来看一下,定义一个字符串的代码片段:
上述C语言程序中,第5行,是定义了一个“字符串”。使用的是char类型的数组格式。另外,在字符串常量两边的定界符中,使用的是双引号。
在屏幕上要打印一个字符串的时候,在printf函数中,使用的是“%s”这个占位符。与“字符”的“%c”这个占位符是不同的。
“字符”与“字符串”之间,除了定界符不同之外,还有一个区别是:
“字符”占据一个字节,但是“字符串”是占据多个字节。而且,在“字符串”的结尾处,自动被编译器加上了'\0'这个字符,在ASCII码中,'\0'表示的是一个空字符。
如果在定义一个字符串常量的时候,使用了单引号,程序就会报错。在定义字符串的时候,需要在变量名后面加上“中括号”,类似于定义“数组”时候的格式。