# V2504. MISRA. Size of an array is not specified.

This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).

Explicitly specifying the array size makes code clearer and helps to prevent mistakes leading to an array overrun due to its exact size being unknown to the programmer.

The analyzer issues this warning when it detects a declaration of an array with the 'extern' specifier, provided that the array size is not specified explicitly. For example:

    extern int arr[];

To eliminate the warning, specify the array size explicitly.

    extern int arr[12];

If the array size can be inferred from the initializer, the warning is not issued.

    int arr1[] = {1, 2, 3};

This diagnostic is classified as:

MISRA-C-2012-8.11 MISRA-C-2023-8.11 MISRA-CPP-2008-3.1.3