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

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Явное указание размера массива улучшает читаемость и понимание кода, уменьшая вероятность возникновения ошибок, связанных с выходом за границы массива из-за незнания его размера.

Анализатор выдаст предупреждение, если встретит объявление массива со спецификатором 'extern', при условии, что размер массива не задан явно:

extern int arr[];

Для исправления следует явно указать размер массива:

extern int arr[12];

Если размер массива можно вывести из инициализатора, предупреждение выдано не будет:

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

Данная диагностика классифицируется как:

  • MISRA-C-8.11
  • MISRA-CPP-3.1.3