专栏中心

EEPW首页 > 专栏 > 关于C51求数组字节数量的详解(sizeof的详解)

关于C51求数组字节数量的详解(sizeof的详解)

发布人:0750long 时间:2009-07-08 来源:工程师 发布文章
关于C51求数组字节数量的详解(sizeof的详解)

 

看了网络上一些关于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新年寄语|激活智能边缘,把握数字时代新机遇

模拟技术 2025-02-05

贸泽开售适用于消费类和医疗可穿戴设备的STMicroelectronics全新带vAFE的ST1VAFE3BX生物传感器

win2000 终端安装程序(远程控制)

windows版的解压缩RAR程序(含解密文件)

聚积科技驱动前进|达芬奇系列旗舰LED驱动芯片纵横ISE 2025

WinAce 2.03 压缩和解压缩程序

Pickering集团在马来西亚槟城设立全新办事处

2025-02-05

Vishay推出适用于恶劣环境应用的的微型密封多匝SMD微调电位器

Microchip推出下一代低噪声芯片级原子钟 SA65-LN

光学领域新突破,歌尔光学发布DLP 3D打印光机模组

OPA369 社区视频

视频 2010-03-17

【科技和移动性亮点】东软在2025东京国际汽车技术展览会上展示创新汽车网联技术

PCM4222 社区视频

视频 2010-03-17

TI 基于 MSP430 微处理器的电容式触摸按键方案

视频 2010-03-17

TAS5162 社区视频

视频 2010-03-17

WINNT_2000下直接写端口 的VC++源程序

ASML发布2024年全年财报 | 净销售额283亿欧元,净利润76亿欧元

EDA/PCB 2025-02-03

TI 视频解码器和 ADC/DAC 产品及其应用

视频 2010-03-17

歌尔光学亮相SPIE 光波导刻蚀工艺新品首秀

更多 培训课堂
更多 焦点
更多 视频

技术专区