不使用sizeof在C/C++中查找数组的大小

c++cserver side programmingprogramming

在这个程序中,我们不使用sizeof在C/C++中查找数组的大小。

算法

开始
    初始化数组的元素。
    &a => 这是指向数组的指针,它指向与a相同的内存地址。
    &a + 1 => 它指向数组末尾后的地址。
    *(a+1) => 取消引用*(&a + 1)可得出最后一个元素末尾后的地址。
    *(a+1)-a => 减去指向第一个元素的指针可得到数组的长度。
    打印大小。
结束。

示例代码

#include <iostream>
using namespace std;
int main() {
int a[] = {6,7,5,3,1,4,2,10,9};
int s = *(&a + 1) - a;
cout << "数组中元素的数量为 "<< s;
}

输出

数组中元素的数量为 9

相关文章