你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
我想通过宏定义计算数组的大小,带到程序里面不能通过...
[复制链接]
海飞尸
提问时间:2019-5-24 12:00 /
问答
是否解决:
#define ArrayLength(Array) (sizeof(Array) / sizeof(Array[0]))
Start_PCM_data_size = ArrayLength(Start_PCM_data);
../Src/dac.c(119): error: #70: incomplete type is not allowed
赞
0
收藏
0
评论
4
分享
发布时间:2019-5-24 12:00
举报
请先
登录
后回复
4个回答
edmundlee
回答时间:2019-5-24 13:02:26
a0a.1 32b0c
用sizeof时,要写类型, 不要写对象, 比如
int Array[1234];
sizeof(Array)/sizeof(int);
或者你该试试别的方法
#define ArraySize 1234
int Array[ArraySize ];
然后直接用ArraySize , 就不用sizeof了
评分
参与人数
1
蝴蝶豆
+3
收起
理由
STMCU
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
andeyqi
回答时间:2019-5-24 13:05:58
a0a.1 32b0c
这样写应该是可以的啊,Start_PCM_data这个类型的头文件都包了吗,是不是文件中引用不到
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
edmundlee
回答时间:2019-5-24 13:31:06
a0a.1 32b0c
这样写的要通过是可以, 但必须是定义Array与 调用ArrayLength在同一个文件里, 否则sizeof反回0
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
songshiqun2010
回答时间:2019-5-24 14:13:03
a0a.1 32b0c
Start_PCM_data 的定义呢?
评分
参与人数
1
蝴蝶豆
+1
收起
理由
STMCU
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
int Array[1234];
sizeof(Array)/sizeof(int);
或者你该试试别的方法
#define ArraySize 1234
int Array[ArraySize ];
然后直接用ArraySize , 就不用sizeof了
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分