永发信息网

单片机C语言中是否可把指针和数组为位类型?为什么?

答案:2  悬赏:10  手机版
解决时间 2021-07-20 15:46
  • 提问者网友:蓝莓格格巫
  • 2021-07-20 04:50
mcs-51 单片机
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-07-20 06:21

不可以的.标准c语言中没有位类型的关键字.位类型只是针对keil c进行的扩展.这是为了适应51单片机因ram空间小而特殊扩展出来的.



c语言不是专为51这种单片机服务的.所以它没有这种功能.特殊编译器(如keil c)可以造出这样的位类型.是因为51单片机有位空间,为了能让用户使用这个空间,keil c进行的特殊的处理.



而且根据基础知识,数据的最小单元就是字节了.也就是说c语言针对的最小数据类型就是字节.一个字节是8位.说明位比字节还要小.所以c语言里的数组和指针不能处理这样的单元.



不过把只是扩展出来,c语言为了解决这样的问题,可以使用位域.

全部回答
  • 1楼网友:山有枢
  • 2021-07-20 06:36

当然是不可以的,数组是用来定义什么的,在C语言中是字符和字符串对吧,一个字符就是两个字节,而一个字节就一位着有8位,位定义是专门用来控制那一位的,你用字节去控制位怎么控制啊???

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯