Мне нужно выделить память для указателя, который должен использоваться как массив 2d. Я знаю, как выделить память для указателей на символы и указателей на int Я путаюсь, как распределяется память из массива указатели. Наглядное представление причины было бы очень полезно, а также код ниже штраф?выделение памяти для массива указателей
char *names[5];
for(i=0;i<5;i++)
{
names[i]=(*char)malloc(sizeof(char));
}
Неясно, каков ваш вопрос. Ваш код уже делает что-то действительно; каждый элемент 'names []' указывает на 'char', выделенный в куче. Что вам на самом деле нужно делать? –
Как только у вас есть это правильно, см. Этот вопрос о том, как освободить память: http://stackoverflow.com/questions/1733881/c-correctly-freeing-memory-of-a-multi-dimensional-array – Tim