找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 3423|回复: 10
收起左侧

单片机数组长度判断

[复制链接]
ID:302293 发表于 2022-3-4 09:37 | 显示全部楼层 |阅读模式
   比如:
   a[50],写进去了十个,剩下的长度怎么判断
回复

举报

ID:161164 发表于 2022-3-4 12:30 | 显示全部楼层
判断来做什么?
回复

举报

ID:116773 发表于 2022-3-4 12:50 | 显示全部楼层
数组是靠下标来区别的,这个下标是编程者控制的,还需要判断吗?
回复

举报

ID:415064 发表于 2022-3-4 14:08 | 显示全部楼层
必须要记录你已经用了多少
回复

举报

ID:795735 发表于 2022-3-4 19:36 | 显示全部楼层
定义a时,定义成a[51],a[0]保存长度,内容从a[1]开始保存。还需要继续讲不?
回复

举报

ID:123289 发表于 2022-3-5 13:34 | 显示全部楼层
一旦数组被定义编译下来,长度就已确定了。不存在用了多少?还剩余多少?假如数组总长度是100个字节,无论你向不向数组存放数据,它都是100个,不会因为只存了10个字节,它就是10个字节。
回复

举报

ID:276663 发表于 2022-3-5 14:16 | 显示全部楼层
你放进去多少自己找个变量记好,楼上用第一个来记就是一个方法
回复

举报

ID:302293 发表于 2022-3-5 15:44 | 显示全部楼层
wojiaoguogai 发表于 2022-3-4 14:08
必须要记录你已经用了多少

是的


回复

举报

ID:302293 发表于 2022-3-5 15:46 | 显示全部楼层
wojiaoguogai 发表于 2022-3-4 14:08
必须要记录你已经用了多少

我把大的数据写进数组,存进flash然后读出来比较,比如刷卡的数,和flash里面的比较,若是对的就授权
回复

举报

ID:1008425 发表于 2022-3-5 18:57 | 显示全部楼层
写进去 几个,自己要知道。sizeof(a)就获取到了a数组的长度为50,写进去多少,可以用strlen判断,但是如果是16进制数,那只能通过循环用if判断
回复

举报

ID:401564 发表于 2022-3-5 22:58 | 显示全部楼层
那你写入的时候记录不就行了
每次写入一个地址,某个变量就+1,输入完了,这个变量是多少就是写入了多少个地址的数据了
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表