Имеем код, который должен создавать массив из 5ти нуль-строк, заполнить их, вывести, и освободить память. Но:
1) В arr[0] частичный мусор появляется
2) Происходит ошибка сегментации при освобождении памяти.
Подскажите плз. в каком месте проблемы, и как их исправить? спасибо.
1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4
5
6 int main(void)
7 {
8 char** arr;
9 int i;
10
11 arr = (char **)malloc(5);
12 for(i = 0; i < 5; i++){
13 arr[i] = (char *)calloc(100, sizeof(char));
14 sprintf(arr[i], "just it is a test %d\0", i);
15 }
16
17 for(i = 0; i < 5; i++)
18 printf("arr[%d] = '%s'\n", i, arr[i]);
19
20
21 for(i = 0; i < 5; i++)
22 free(arr[i]);
23
24 free(arr);
25
26 return 0;
27 }
Ответ на:
комментарий
от r_asian


Ответ на:
комментарий
от Ex

Ответ на:
комментарий
от shumer

Ответ на:
комментарий
от Ex
Ответ на:
комментарий
от shumer
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C++] массивы и указатели (2010)
- Форум Задачка с массивом строк на Си (2008)
- Форум ссылки и приведение типов (2010)
- Форум Чем чревата прямая инкапусляция структур в си? (2016)
- Форум Инициализация константных полей структур (2015)
- Форум Динамическое распределение памяти (2014)
- Форум покритикуйте функцию (2009)
- Форум Правильно ли я организовал выделение памяти? (2014)
- Форум Программа на Си падает, при выделении памяти (2014)
- Форум вопрос про память - детский (2007)