C/C++ Jni 开发:如何获取 int16_t 指针指向数组的长度
要打印出 'int16_t *pOutAudio' 的长度,可以使用 C/C++ 中的 sizeof 运算符。sizeof 运算符返回一个对象或类型的大小(以字节为单位)。由于 'pOutAudio' 是一个指针,所以 sizeof(pOutAudio) 将返回指针的大小,而不是指向的数组的大小。
为了获取数组的大小,可以使用 sizeof 运算符和数组的长度(以字节为单位)进行除法运算,以获取数组中元素的数量。
下面是一个示例代码:
#include <iostream>
int main() {
int16_t* pOutAudio;
int arraySize = 10; // 假设数组的大小是10
// 打印 pOutAudio 指针的大小
std::cout << "pOutAudio 指针的大小:" << sizeof(pOutAudio) << " 字节" << std::endl;
// 打印 pOutAudio 指向的数组的长度
std::cout << "pOutAudio 指向的数组的长度:" << sizeof(*pOutAudio) / sizeof(*pOutAudio) << std::endl;
return 0;
}
在上面的示例代码中,我们假设数组的大小是 10。首先,我们使用 sizeof(pOutAudio) 来打印 'pOutAudio' 指针的大小。然后,我们使用 sizeof(*pOutAudio) 来打印 'pOutAudio' 指向的数组的长度。注意,由于 int16_t 是一个 16 位的整数类型,所以 sizeof(*pOutAudio) 返回的是一个元素的大小。我们将其除以 sizeof(*pOutAudio) 来获取数组的长度。
请注意,sizeof 运算符返回的是以字节为单位的大小。如果要以元素的数量为单位打印数组的长度,还需要进一步除以一个元素的大小。
原文地址: https://www.cveoy.top/t/topic/qnNF 著作权归作者所有。请勿转载和采集!