我在 C++ 中创建了一个函数来查找数组的长度。我找到sizeof
参数中传递的数组并将其除以sizeof
变量类型。这应该可以,但它总是返回 1!我错过了一些明显的东西吗?还是这与指针和内存有关?这是我的代码:
#include <iostream>
using namespace std;
int lengthOf(int arr[]);
int main() {
int x[] = {1,2,3,0,9,8};
int lenX = lengthOf(x);
cout << lenX;
return 0;
}
int lengthOf(int arr[]) {
int totalSize = sizeof arr;
cout << totalSize << endl;
int elementSize = sizeof(int);
return totalSize/elementSize;
}
输出(应该是 6 而不是 1):
4
1
我还很新,所以如果这是一个不好的问题,请原谅。