Я предполагаю, что вторая декларация вводит в заблуждение многих. Вот простой способ понять это.
Позволяет иметь массив целых чисел, т. Е. int B[8]
.
Давайте также будем иметь переменную A, которая указывает на B. Теперь значение в A является B, т. е. (*A) == B
. Следовательно, A указывает на массив целых чисел. В вашем вопросе arr похож на A.
Аналогично, в int* (*C) [8]
C является указателем на массив указателей на целое число.