在程序中定义字符串
一、字符串常量(或者称之为字符串文字)
1.介绍
字符串常量(string constant),又称为字符串文字(string literal),是指位于一对双引号中的任何字符。
双引号中的字符编译器会自动提供结束标志\0字符,作为一个字符串被存放在内存里面。
如:
#define MSG "You must have many talents.Tell me some."
printf ("Hi! I'm Clyde the Computer." "I have many talents.\n");
char greeting[50] = "Hello, and how are you today!";
如果字符串文字中间没有间隔或者间隔的是空格符,ANSI C会将其串联起来。
例如:
char greeting[50] = "Hello, and" "how are" "you" "today!";
相当于
char greeting[50] = "Hello, and how are you today!";
2.使用双引号
如果想在字符串中间使用双引号,可以在双引号的前面加一个反斜线符号。
如:
printf ("\"Run, Spot,run!\"\n");
3.字符串常量
字符串常量属于静态存储(static storage)类。
静态存储指的是如果在一个函数中使用字符串常量,即使是多次调用了这个函数,该字符串在程序的整个运行过程中只存储一份。整个引号中的内容作为指向该字符串存储位置的指针。
#include <stdio.h>
int main (void)
{
printf ("%s, %p, %c \n", "We", "are", *"space farers");
return 0;
}