В чем разница между этими двумя объявлениями массива? - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу знать разницу между этими двумя объявлениями этих массивов, один определяется так (double array[a][b][c][d]), другой отличается (double array[a*b*c][d])

double weight4_5[LAYER4][LAYER5][LENGTH_KERNEL][LENGTH_KERNEL];
double weight5_6[LAYER5 * LENGTH_FEATURE5 * LENGTH_FEATURE5][OUTPUT];

, если я хочуКак загрузить это значение в эти два массива с помощью циклов for?

1 Ответ

1 голос
/ 27 сентября 2019

Первый - это 4-х мерный массив.

  • Доступ осуществляется по weight4_5[i][j][k][l]

Второй - это 2-мерный массив.Это плоский массив.

  • Доступ осуществляется в основном по weight5_6[x][y] Но вам нужно выполнить некоторые вычисления, чтобы получить значение x на основе исходного массива 4D.
  • Вы можете организовать это несколькими способами, как хотите, (например, по строкам, по столбцам и т. Д.). Один из способов - это

    x= ((((i*LAYER5)+j)*LENGTH_FEATURE5)+k)
    y = l;
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...