'Two-Dimensional arrays in C and the length of sub-array

How do I check the length of subarray (*last) in this example?

int
main()
{
    int *arr[3];
    arr[0] = (int[]){1, 2, 9, 4, 5};
    arr[1] = (int[]){10, 2, 8};
    arr[2] = (int[]){20, 2, 7, 0, 10};
    
    
    int *last = arr[2];
    return 0;
}

without using sizeof(because of pointer) and without

while (*last) { ... }

because of zero in array?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source