博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
invalid application of `sizeof' to incomplete type `char[] '
阅读量:6817 次
发布时间:2019-06-26

本文共 462 字,大约阅读时间需要 1 分钟。

在写代码时,我想用extern来关联一个数组,然后利用sizeof计算数组的大小,代码如下:

...extern char a[];#define b size=(sizeof(a)/sizeof(a[0]))...

编译报错:

invalid application of `sizeof' to incomplete type `char[] '

主要原因是sizeof不能用在extern变量: 

sizeof 的计算是在代码编译的时刻。 
而extern是在链接的时刻。 
所以 sizeof 在计算时,并不知道这个extern修饰的符号到底占用了多少空间。

解决办法:

1.把sizeof()和数组写到一个文件中

2.不用宏定义b,而是在定义数组a的那个文件里定义 size=(sizeof(a)/sizeof(a[0]));

然后在其他文件中
extern int size;
extern char a[];

转载于:https://www.cnblogs.com/zzdbullet/p/10384437.html

你可能感兴趣的文章
【299天】跃迁之路——程序员高效学习方法论探索系列(实验阶段57-2017.12.01)...
查看>>
对象的点查询和中括号查询
查看>>
一行代码搞定人脸识别
查看>>
python3进程和线程
查看>>
【quickhybrid】Android端的项目实现
查看>>
Webpack3简单入门1
查看>>
好的代码可以自己说话!
查看>>
css揭秘笔记——用户体验
查看>>
【287天】每日项目总结系列025(2017.11.19)
查看>>
对于“不用setInterval,用setTimeout”的理解
查看>>
JavaScript设计模式--工厂模式
查看>>
前端开发者搭建自己的博客
查看>>
storm集群安装与部署
查看>>
tomcat
查看>>
微信原图泄露的只能是 Exif ,你的隐私不在这!!!
查看>>
在 V8 中从 JavaScript 到 C++ 的类型转换
查看>>
升级Python导致的yum,pip报错解决方案
查看>>
leetcode 342. Power of Four
查看>>
【Node断言assert】
查看>>
python 多继承
查看>>