Null pointer assignment - не могу разобраться - C (СИ)
Формулировка задачи:
typedef struct {
char r,c,
width;
int LAttr;
int IAttr;
char ** Labels;
char ** Inputs;
char * CMDLabel;
} _Form;
_Form IOForm, char * p;
p=(char*)malloc(sizeof(char)*FORM_MAXLEN);
strcpy(IOForm.Inputs[i],"12");Решение задачи: «Null pointer assignment - не могу разобраться»
textual
Листинг программы
IOForm.Inputs = new char *[N]; // IOForm.Inputs = (char**)malloc(...); ..... IOForm.Inputs[i] = new char[M]; // IOForm.Inputs[i] = (char*)malloc(...);
Объяснение кода листинга программы
- Создается массив указателей на char с именем IOForm.Inputs и размером N.
- В каждой ячейке массива IOForm.Inputs выделяется память под массив char с размером M.
- Значение i указывает на конкретную ячейку массива IOForm.Inputs, в которой будет храниться указатель на выделенную память.
- В этой ячейке массива IOForm.Inputs записывается адрес выделенной памяти.