首页 > 代码库 > 字符常量、字符串

字符常量、字符串

字符常量和字符串

‘s‘和"s"是不同的。

‘s‘是字符常量,它代表了一个整数,对应的是在机器字符表中的值。

s=a;    //a的值为97
s=5;    //a的值为53
s=(5-0);    //a的值为5

"s"是字符串常量,他是以‘\0‘结尾的字符序列。从技术角度看,字符串常量就是字符数组。数组的最后一个元素是‘\0‘,表示字符串结束。

 

声明定义字符常量、字符串常量

char s;    //声明了一个字符串常量
char s[10];    //声明了一个长度为10字节的字符串常量

//定义
char s=1;    //把字符1赋给字符常量s
char s[]="hello";    //把"hello"赋给s[],这里的s[]数组里有以‘\0‘结尾的5个元素
char s[10]="hello";    //同chars[]

//赋值
char s[10];
char s[10]={h,e,l,l,o};
strcpy(s, "hello");

 

注意,字符串数组不能直接赋值

char s;
s="hello";    //会报错!

//利用字符串指针
char *s;
s="hello";    //合法

 

输出字符串

C语言中常用的两种输出字符串的方法:

 

printf("%s",s);
puts(s);

 

求字符串数组的长度

标准库函数strlen(s)可以返回字符串s的长度,在头文件<string.h>里。

strlen(s)的判断长度的依据是(s[i] != ‘\0‘),所以返回值是字符串s的长度,而不是数组的长度。

如果要求数组的长度,用sizeof(s)/sizeof(s[0])。

字符常量、字符串