MFC BYTE[]怎么算字节数
答案:1 悬赏:30
解决时间 2021-10-30 09:19
- 提问者网友:咪咪
- 2021-10-30 02:06
MFC BYTE[]怎么算字节数
最佳答案
- 二级知识专家网友:由着我着迷
- 2021-10-30 03:36
BYTE array[300]={01,02,05,20};
这样的定义,实际占用内存就是300,数组是不可变长度的内存占用,当声明后内存堆栈的占用是固定的。
至于4,是因为这样的定义后,默认除了前四个字节,后面的296字节默认补了0,那么按照字符串长度的方式计算,后面0不作为有效长度(虽然占用了内存),通过函数strlen取得的长度就是4个字节。
另外注意,数组的不安全性就在于,没有标准函数可以获取数组的实际占用内存长度,因此必须自己记录并限制内存地址操作,否则很容易越界。
一个BYTE就是一个char,同样是一字节,楼上用sizeof(BYTE)得到的数字,只能是1.
这样的定义,实际占用内存就是300,数组是不可变长度的内存占用,当声明后内存堆栈的占用是固定的。
至于4,是因为这样的定义后,默认除了前四个字节,后面的296字节默认补了0,那么按照字符串长度的方式计算,后面0不作为有效长度(虽然占用了内存),通过函数strlen取得的长度就是4个字节。
另外注意,数组的不安全性就在于,没有标准函数可以获取数组的实际占用内存长度,因此必须自己记录并限制内存地址操作,否则很容易越界。
一个BYTE就是一个char,同样是一字节,楼上用sizeof(BYTE)得到的数字,只能是1.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯