Хорошо, поэтому массив char**
может быть объявлен как char ** array[X]
, но в моем контексте я пока не знаю свое значение X
, но знаю размер двух других измерений.
Так что я попытался сделать это:
char *votes[NUMOFCANDIDS][25]={""};
//When I said I know the size of other 2 dimensions, it refers to NUMOFCANDIDS and 25
Но я получил эту ошибку в этой строке:
votes=malloc(voters * sizeof(*votes));
//Error:assignment to expression to array type
Так вот, когда я понял, что мое объявление неверно. Я также не объявлял его как char***
и динамически выделял 3 измерения, потому что у меня было это понятие «использовать кучу, только когда вы не знаете, сколько выделить».
Итак, вкратце, мой Вопрос в том, как объявить массив char**
, если вы уже знаете значение двух последних измерений, но не первое? Надеюсь, объяснение может сопровождать то, что я делаю неправильно и почему вы правы.