一、表示字符串和字符串的I/O
puts()函数也属于stdio.h系列的输入/输出函数,但是只显示字符串,而且自动在显示的字符串末尾加上换行符。
程序应该确保有足够的空间储存字符串。
用双引号括起来的内容称为字符串字面量,也叫字符串常量。双引号中的字符和编译器自动加入末尾的\0字符,都作为字符串储存在内存中。
从ANSI C 开始,如果字符串字面量之间没有间隔,或者用空白字符分隔,C会将其视为串联起来的字符串字面量。
//
// 字符串字面量
//
#include <stdio.h>
int main(void)
{
char test1[50] = "Some string""and number" "Hi";
char test2[50] = "Some stringand numberHi";
puts(test1);
puts(test2);
return 0;
}
两种写法输出的字符串是相同的。
如果要在字符串里面使用双引号,必须加反斜线。
字符串常量属于静态存储类别,这说明如果在函数中使用字符串常量,该字符串只会被储存一次,在整个程序的生命周期内存在,即使函数被调用多次。用双引号括起来的内容被视为指向该字符串存储位置的指针。这类似于把数组名作为指向该数组位置的指针。