C语言中字符型和字符串型的对比
字符型:C语言中字符用单引号括起来,存储方式以ASCII编码二进制形式存储,占用一个字节
如:'a','b','c','A'等
注意:在C语言中将字符型看成特别短的整形,unsigned int 的长度刚好是0-256的范围。
字符常量和变量
1:字符常量:用单引号括起来的单个字符 'a'
特点:a:只能用单引号来进行括起来,不能用其他的
b:只能是单个字符,不能是多个字符或者字符串
c:可以为字符集中的任意字符
2:字符变量
字符变量用来存储字符常量,即存储单个字符
用char来表示
每一个慈父变量分配一个字节内存空间,只能存放单个字符,以ASCII码的形式进行存储
注意:
C语言中允许将字符变量看成整形,允许对整形变量赋予字符型,也允许对字符型赋予整形,字符型是可以参与运算的
字符型和字符串型的区别:
1:字符串型是由一对双引号括起来的字符序列如"abc"
2:字符常量使用单引号括起来
3:字符常量智能是单个字符,而字符串常量包含一个或者多个字符
4:字符常量赋予一个字符变量,但是不能将一个字符串常量赋予一个字符变量,在C语言中没有相应的字符串变量,但是可以用一个字符数组来存放一个字符串常量:
如:char [] s = "abcde";
5:字符常量栈一个字节的内存空间,字符串常量的内存字节数等于字符串字节数加1,增加的一个自己中存放字符"\0",这是字符串结束符;
注意字符'a',与字符串"a"在内存中存储的情况不同
字符输出的格式控制符为”%c”
字符串输出的格式控制符号为”%s”
#include<stdio.h>int main(int argc,char *argv[]){char singleString = 'a';char * String = "my name is zhou";char stringArray [] = "my name is zhou";printf("singleString:%c\n",singleString);printf("singleString size:%d\n",sizeof(singleString));singleString = singleString + 10;printf("%c\n",singleString);printf("%s\n",String);printf("zifuchuanchangliang:%d\n",sizeof("my name is zhou"));printf("String size = %d\n",sizeof(String));printf("string array size = %d\n",sizeof(stringArray));return 0;}
输出的结果为:
singleString:a
singleString size:1
k
my name is zhou
zifuchuanchangliang:16
String size = 8
string array size = 16
:
通常我们在使用的过程中更多的是去使用字符指针或者字符数组