【C/C++】不同类型的数据在数组中的表现方式

·字符型数据

首先先要#include<string.h>

接着如图所示,用char型读取,表明它是字符型,cz为变量名,[20]中的20是内存长度,之后往里面放的数据不能超过19个。(注意:是19不是20!!!因为在数组末尾会有一个\0,需要给它预留一个空位,在某些编译器上运行时如果存储了20个的话会超内存报错)

你也可以不规定数组大小,直接写成char cz[]={0,1,2,3,4,5,6},它会自动为你生成相应的大小(不可变)。

scanf("%s",cz);即为读取该字符串,需要自己输入。

·整型/实数型数据

以整形为例

整型/实数型的写法和字符型其实没有太大的区别,但是有一个值得注意的地方,那就是它的长度无法直接用strchr()函数来读取了,因为它并不是char类型的

所以我们需要一个新方法,就是sizeof()函数,但是,如果只用sizeof()函数也是不正确的!!!它所计算的长度是错误的

你会发现它的长度是它的正确长度的四倍,这是因为在int型中,一个元素占了四个字节的位置,所以不管你输入的长度是多少,使用sizeof()函数返回int型的长度就会是它的正确长度的四倍。

为了改正这个错误,我们需要在使用sizeof()函数时除以该类型的长度,如sizeof(a)/sizeof(int),返回的就会是它的正确长度了

float类型同理,把sizeof(int)替换成sizeof(float)即可

·中文字符

因为一个中文字符占4个字节·,所以说我们无法用一维数组来存储它,这样会导致读取数据时出错。因此我们需要用二维数组进行存储。

zw[][4]的前一个括号中的范围由实际输入决定,后一个括号中的4代表了一个字符所占的字节数,即一个中文字符占四个字节

有关读取数据

如上图所示,直接和其他类型一样,读取zw[所在下标]就行了

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值