Динамическое создание n массивов заданной размерности - C (СИ)
Формулировка задачи:
Приведите пример, как создать n массивов типа char размерностью p и как потом считывать эти массивы (использую динамические массивы).
Решение задачи: «Динамическое создание n массивов заданной размерности»
textual
Листинг программы
char **m; m = (char **)malloc(n*sizeof(char *)); for(i=0; i<n; i++) m[i] = (char *)malloc(p);
Объяснение кода листинга программы
В данном коде:
- Создается указатель на указатель char под названием
m. - С помощью оператора
mallocвыделяется память под массив указателей на char размеромn. При этом, в памяти будет выделеноnблоков памяти, каждый размеромsizeof(char *), то есть указателей на char. - Для каждого из выделенных блоков памяти вызывается функция
mallocдля выделения памяти под массив char размеромp. - Полученные указатели на выделенные блоки памяти сохраняются в соответствующем элементе массива
m.