이 프로그램에서는 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 <iostream> using namespace std; int main() { int a[] = {6,7,5,3,1,4,2,10,9}; int s = *(&a + 1) - a; cout << "Number of elements in array is "<< s; }입니다.
출력
Number of elements in array is 9