字符常量和字符串常量
c语言中的单引号用来表示字符常量,双引号用来表示字符串常量。
那么字符常量是什么呢,字符串常量又是什么呢?
字符常量:指用一对单引号括起来的一个字符。 如’a’,‘9’,’! ‘。 字符常量中的单引号只起定界作用并不表示字符本身。
字符串常量:字符串常量是用“双撇号”括起来的多个字符的序列,字符串本质上是多个字符组成的字符数组。在每一个字符串常量的结尾,系统都会自动加一个字符’\0’作为该字符串的“结束标志符”,系统据此判断字符串是否结束。
一个字符常量是一个整数。—《c程序设计语言》
双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符‘\0’初始化。
#include<stdio.h>
int main(){
//字符常量和字符串常量的字节长
char str1='A';
int str2=65;
char str3[2]="A";
printf("str1=%c str2=%c\n",str1,str2);
printf("sizeof(str1)=%d\n",sizeof('a'));
printf("sizeof(str3)=%d\n",sizeof(str3));
}
ANSI C语言的全部转义字符表