Как передавать многомерный массив в функцию на си?
Здравствуйте! Есть трехмерный массив типа char. Пытаюсь его передать в функцию int fun(char*** m), не чего не получаеться! Почему?
По дате
По рейтингу
Не много подзабыл мат. часть но примерно так выглядит передача массива 3-й размерности, только не ругайся на макросы и значение контрольного эллемента это всего лишь ссылка на указатель в оперативной памяти! Си держит свою марку! По возможности, не создавай массивы "глубокой" размерности-это потеря быстродействия!
12345678910111213141516171819202122232425262728
#include<stdio.h>
#define LEN_A 32
#define LEN_B 256
#define LEN_C 12
#define LEN_D 128
#define LEN_E 2
#define CUR_A 10
#define CUR_B 10
#define CUR_C 8
#define CUR_D 52
#define CUR_E 1
int fun(char *m)
{
char *p=&m[CUR_A*LEN_B*LEN_C+CUR_B*LEN_C+CUR_C];
*p=12;
printf("%d\n",p);
}
int main()
{
char mass[LEN_A][LEN_B][LEN_C];
mass[CUR_A][CUR_B][CUR_C]=25;
fun((char*)&mass);
printf("%d\n",&mass[CUR_A][CUR_B][CUR_C]);