我试图获得数组的大小,但我得到了有趣的结果:
sizeof(new uint8_t [1])给了我4而sizeof(uint8_t)给了我1。
如何获得uint8_t数组的大小?
答案 0 :(得分:3)
new uint8_t[1]
是指针,而不是数组。
如何获得uint8_t数组的大小?
对于N
元素的数组,以字节为单位的大小为
sizeof(uint8_t[N]);
或
N * sizeof(uint8_t);
但是,如果存在uint8_t
,则它将是一个字节;所以在这种情况下,数组大小只是N
。