Chương trình này tìm kích thước mảng không dùng sizeof.
Thuật toán
Bắt đầu
Khởi tạo phần tử mảng
&a => Con trỏ mảng trỏ cùng địa chỉ với a
&a + 1 => Trỏ địa chỉ sau cuối mảng
*(&a + 1) => Gián tiếp lấy địa chỉ sau phần tử cuối
*(&a + 1) - a => Trừ con trỏ phần tử đầu lấy độ dài mảng
In kích thước
Kết thúcVí dụ mã
#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ố phần tử mảng là " << s;
}Kết quả
Số phần tử mảng là 9