"); //-->
看了网络上一些关于sizeof的用法,决的都没有针对C51内的详细说明,在此进行详细解释,以便供大家参考:
例如数组:
unsigned char code parameter_tabal[] =
{
1,2,3,4,5,6,7,8, //password_addr
};
关于数组parameter_tabal[] 的字节长度计算分析如下:
首先,定义宏定义:#define countof(a) sizeof(*(a))//(sizeof(a) / sizeof(*(a)))
//sizeof(a) = 数组字节长度(例子为8)
//sizeof(*(a)) = 数组变量类型(char = 1、int = 2(例子为1))
//数组长度=sizeof(数组)/sizeof(*数组)
//数组长度=sizeod(数组)/sizeof(*数组) (数组内为纯数字)
//数组长度=sizeod(数组)-1/sizeof(*数组) (数组内为纯字符或者数字数组混和)
例:unsigned char code parameter_tab[] =
{
1,2,3,4,5,6,7,8,"ab" //password_addr
};
最后,那么调用宏定义,即可得出该数组内的字节数量:
#define WriteBufferSize (countof(parameter_tab))
WriteBufferSize就等于该数组内的字节数量。
完整用法:
//================================================
#define countof(a) sizeof(*(a))//(sizeof(a) / sizeof(*(a)))
#define WriteBufferSize (countof(parameter_tab))
//===============================================
WriteBufferSize就是该数组内的字节数量。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
ADI新年寄语|激活智能边缘,把握数字时代新机遇
贸泽开售适用于消费类和医疗可穿戴设备的STMicroelectronics全新带vAFE的ST1VAFE3BX生物传感器
win2000 终端安装程序(远程控制)
电源使用的继电器保险丝
windows版的解压缩RAR程序(含解密文件)
聚积科技驱动前进|达芬奇系列旗舰LED驱动芯片纵横ISE 2025
WinAce 2.03 压缩和解压缩程序
招硬件工程师、软件工程师、应用工程师
卡片控制电路图
eastjtag驱动问题,在线等
招硬件工程师、软件工程师、应用工程师
招硬件工程师、软件工程师、应用工程师
Pickering集团在马来西亚槟城设立全新办事处
Vishay推出适用于恶劣环境应用的的微型密封多匝SMD微调电位器
Microchip推出下一代低噪声芯片级原子钟 SA65-LN
过载指示器
光学领域新突破,歌尔光学发布DLP 3D打印光机模组
[求助]大力求助!!!关于如何选择图像转发的芯片
OPA369 社区视频
【科技和移动性亮点】东软在2025东京国际汽车技术展览会上展示创新汽车网联技术
PCM4222 社区视频
Flashy Christmas Lights
TI 基于 MSP430 微处理器的电容式触摸按键方案
TAS5162 社区视频
WINNT_2000下直接写端口 的VC++源程序
X25045使用手册
直流/直流转换器
ASML发布2024年全年财报 | 净销售额283亿欧元,净利润76亿欧元
TI 视频解码器和 ADC/DAC 产品及其应用
歌尔光学亮相SPIE 光波导刻蚀工艺新品首秀