C中的字符串实际上是字符数组。尽管在C中使用指针是一个高级主题,稍后将对此进行详细说明,但我们将使用指向字符数组的指针来定义简单字符串,方法如下:
char * name = "John Smith";
此方法创建一个我们只能用于阅读的字符串。如果我们希望定义一个可以操作的字符串,我们需要将其定义为本地字符数组:
char name[] = "John Smith";
这种表示法是不同的,因为它分配了一个数组变量,所以我们可以操纵它。空括号表示法告诉编译器自动计算数组的大小。这实际上与显式分配它相同,在字符串的长度上添加一个:[]
char name[] = "John Smith";
/* is the same as */
char name[11] = "John Smith";
我们需要添加一个的原因,虽然字符串John Smith长度正好是10个字符,但是用于字符串终止:一个特殊字符(等于0),表示字符串的结尾。标记字符串的末尾是因为程序不知道字符串的长度 - 只有编译器根据代码知道它。
我们可以使用该printf命令将字符串与其他字符串一起格式化,方式如下:
char * name = "John Smith";
int