Как создать функцию, которая выделяет массив для хранения указателей - PullRequest
0 голосов
/ 27 мая 2020

Я понимаю, что хочу использовать mallo c, но как сделать так, чтобы он содержал указатели? Если мне дано число для размера массива, и я хочу, чтобы каждый из этих индексов указывал на другой массив.

Некоторые данные о том, как начать, были бы полезны. Я знаю, что это не слишком много строк кода, но эта концепция для меня абстрактна, что затрудняет понимание, с чего начать в коде.

1 Ответ

1 голос
/ 27 мая 2020

Ну malloc выделяет область памяти размером в такое количество байтов. Поэтому, если вы хотите хранить указатели в этой памяти, вам нужно умножить размер одного указателя на то, сколько вы хотите в этой области.

Вот небольшой пример для массива строк (которые просто указатели) ...

const char ** array_of_strings;
array_of_strings = malloc(2 * sizeof (const char *));/* size for two pointers */
array_of_strings[0] = "first string";
array_of_strings[1] = "second string";
...