История изменений
Исправление SZT, (текущая версия) :
Да, тут вообще чтобы аналог unsigned char array[w][h][2];
надо так делать
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int w=5;
int h=4;
int l=2;
unsigned char (*array)[h][l] =(unsigned char (*)[h][l])malloc(w*h*l);
{
int cnt = 0;
for(int w_i = 0; w_i < w; w_i++)
for(int h_i = 0; h_i < h; h_i++)
for(int l_i = 0; l_i < l; l_i++)
{
array[w_i][h_i][l_i] = cnt++;
}
}
for(int w_i = 0; w_i < w; w_i++)
{
for(int h_i = 0; h_i < h; h_i++)
{
for(int l_i = 0; l_i < l; l_i++)
printf("%d, ", array[w_i][h_i][l_i]);
printf("\n");
}
printf("\n------------------\n");
}
free(array);
return EXIT_SUCCESS;
}
Исходная версия SZT, :
Да, тут вообще чтобы аналог unsigned char array[w][h][2];
надо так делать
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int w=5;
int h=4;
int l=2;
unsigned char (*array)[h][l] =(unsigned char (*)[h][l])malloc(w*h*l);
{
int cnt = 0;
for(int w_i = 0; w_i < w; w_i++)
for(int h_i = 0; h_i < h; h_i++)
for(int l_i = 0; l_i < l; l_i++)
{
array[w_i][h_i][l_i] = cnt++;
}
}
for(int w_i = 0; w_i < w; w_i++)
{
for(int h_i = 0; h_i < h; h_i++)
{
for(int l_i = 0; l_i < l; l_i++)
printf("%d, ", array[w_i][h_i][l_i]);
printf("\n");
}
printf("\n------------------\n");
}
free(array);
return EXIT_SUCCESS;
}