在不使用 sizeof 的情况下在 C/C++ 中查找数组的大小
在这个程序中,我们在不使用sizeof的情况下,找出了在C/C++中查找数组的大小。
算法
Begin Initialize the elements of the array. &a => This is the pointer to array which points at the same memory address as a. &a + 1 => It points at the address after the end of the array. *(a+1) => Dereferencing to *(&a + 1) gives the address after the end of the last element. *(a+1)-a => Subtract the pointer to the first element to get the length of the array. Print the size. End.
示例代码
#include输出结果using namespace std; int main() { int a[] = {6,7,5,3,1,4,2,10,9}; int s = *(&a + 1) - a; cout << "数组中的元素数是 "<< s; }
数组中的元素数是 9