在C ++中查找int数组的长度,它是如何工作的;

问题描述 投票:0回答:2

抱歉。涡轮增压菜鸟在这里。

有人将此代码作为一种方法来查找称为a的数组的长度:>

std::cout << "Length of array = " << (sizeof(a)/sizeof(*a)) << std::endl;

我唯一不了解的是

sizeof(*a)

我不知道*在做什么。我还认为这只是一小部分。分母在做什么?

抱歉。涡轮增压菜鸟在这里。有人将此代码作为一种方法来查找称为a的数组的长度:std :: cout <

sizeof(a)

是整个数组的大小

sizeof(* a)

与数组的一个元素相同

这就是为什么需要划分

在C ++中,一个int是4个字节。 sizeof(* a)正在获取数组存储的类型的字节大小。 (sizeof(a)/sizeof(*a))的作用是将数组存储的总字节数除以数组类型的字节大小,从而得到长度。

Ex:您有一个数组[1、2、3、4],它是16个字节,一个int的大小是4个字节。 16字节/ 4字节= 4,即数组的长度。

c++
2个回答
0
投票

sizeof(a)


0
投票

在C ++中,一个int是4个字节。 sizeof(* a)正在获取数组存储的类型的字节大小。 (sizeof(a)/sizeof(*a))的作用是将数组存储的总字节数除以数组类型的字节大小,从而得到长度。

© www.soinside.com 2019 - 2024. All rights reserved.