URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 1892
[ Назад ]

Исходное сообщение
"Преобразование типов в С"

Отправлено forfreeuse , 21-Июл-03 11:02 
Есть некая область памяти выделенная malloc`ом, можно как-то дать понять компилятору, что она являеться двухмерным массивом размером X*Y?

например можно сказать:
k=(char *)malloc...
а как сказать:
k=(char *[10][20]) malloc?

Можно конечно хранить указатели на строки массива в K и обращаться с ними как с массивом К[X][Y], но по таким указателям qsort не хочет работать.

Если есть у кого идеи, подскажите пожалуйста.


Содержание

Сообщения в этом обсуждении
"Преобразование типов в С"
Отправлено Alexey , 21-Июл-03 15:59 
если ты заранее знаешь размер, то пиши
char k[10][20];

если нет
char **k;

k=(char **)malloc...

и для каждого из указателей
k[i] = (char *)malloc...



"Преобразование типов в С"
Отправлено genie , 22-Июл-03 06:00 
Ne sovsem tak.
char k[10][20];

budet analogichno:

char *k=(char *)malloc(10*20);

i

k[i][j]=k[i*20+j]


>если ты заранее знаешь размер, то пиши
>char k[10][20];
>
>если нет
>char **k;
>
>k=(char **)malloc...
>
> и для каждого из указателей
>k[i] = (char *)malloc...