Я получил этот кусок кода примера на лаборатории, и я пытаюсь понять этоПонимание таНос
int size = 5;
int **ppi2 = (int **) malloc(size * sizeof(int *));
Вот мой пробой этого, как сейчас:
Для того, чтобы выделить достаточный объем памяти , мы должны умножить количество вещей, которые мы хотим выделить память (размер) на размер этих вещей (sizeof (int *)). Это очень просто и имеет большой смысл.
Я понимаю, что мы должны приводить результат malloc в двойной указатель, поскольку malloc возвращает байты, а переменная - двойной указатель, но почему мы устанавливаем ppi2 равным результату malloc в первую очередь? Означает ли это, что ppi2 указывает на то место в памяти, которое мы только что выделили?
Прежде всего, [не выдавайте результат 'malloc'] (http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc). – pzaenger
Я программирую в прямолинейном C, поэтому я думаю, что я должен использовать его –
Вам нужно направить результат в 'C++', но не в 'C'. Просто прочитайте принятый ответ в предоставленной ссылке. – pzaenger