不使用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