Смотря код нашел в интернете я наткнулся на этот кусок кода:распределение матрицы в одной строке
int (*p)[3];
p = (int(*)[3]) calloc(5*3,sizeof(int));
это просто способ Alloc матрицу?
Я понимаю, что int (*p)[3]
создает указатель на массив из 3 междунар, но я не уверен, о calloc
вызове: Я знаю, что calloc
выделить и инициализировать ряд int
(в данном случае) равен первый параметр (5*3
).
Таким образом, если я назначил его p
, это должно означать, что указатель теперь указывает на только что выделенную ячейку памяти.
Итак, поскольку я знаю, что мои рассуждения ошибочны, может кто-нибудь поправить меня?
'ca lloc (m, n) 'выделяет и обнуляет байты памяти' m * n', а не 'm'. –
Да, я имел в виду, что он выделяет 5 * 3 'int'. Я исправил свой вопрос. – user1372813