char数据类型 代码理解

(个人理解,有误请指正)

本文采用c语言进行编译,printf打印时需要强制选择打印的类型,能帮助大家更好的进行理解。

char类型我个人倾向于理解成一个有着存储范围的int类型来理解。

单个字符

对于单个字符,char类型更像一个int类型,只支持单个字符或者数字的输入,存储形式为ascii形式。

	char name1=65;
    char name2='A';
   

	printf("%c--%d\n",name1,name1);
	printf("%c--%d\n",name2,name2);

//%c 为字符类型输出
//%d ascii码

//打印结果
A--65
A--65

我们能看到无论存入的是字符还是ascii,他的表现形式都是一样的。

那么对于不可见ascii或者超出ascii的数字呢?

	char name1=255;   //最后一位
    char name2=256;   //超出范围
        
	printf("%c--%d\n",name1,name1);
	printf("%c--%d\n",name2,name2);


//输出结果
�---1
--0

超出ascii的部分则无可显示的字符,且储存的数值为0

128-225范围内显示?字符,储存的数字为256-当前ascii

多个字符

当然咱们的日常使用中不会建立一个个的char去储存一个字符,通常已数组的形式来储存字符串。

char n1[]="ABCDE";   //通常使用方式

对于char数组临界

char n1[4]="ABCDE";   //对于空间不足的不予储存
printf("%c--%c--%c\n",n1[0],n1[3],n1[4]);

//运行结果
A--D--�

指针

char n1[5]="ABCDE";
char *n3=n1;
printf("%c--%c--%c\n",n3[0],n3[1],n3[2]);

//运行结果
A--B--C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值