0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 5
|
||||||
1 | ||||||
Указатели на структуру - ошибка сегментации29.06.2016, 22:25. Показов 1090. Ответов 5
Метки нет (Все метки)
всем привет! разбираюсь с указателями на структуру и realloc ставит в тупик.. то есть код работает, но странно что он не валится в ошибку сегментации когда копируется в структуру набор чаров без предварительного realloc (закомментил). То есть в первый раз растягиваю память под структуру от 0 до 4 байт, а потом кидается еще 3 раза по 3 чара, что уже 9 байт какбы + 4 которые уже там, без необходимости realloc. Что я не понимаю? ОС самостоятельно растягивает область памяти под структуру или типа того? в общем прошу объяснить, кто знает
0
|
29.06.2016, 22:25 | |
Ответы с готовыми решениями:
5
Ошибка сегментации и указатели в СИ Указатели и ошибка сегментации Ошибка во время выполнения программы (структуры, массивы структур, указатели на структуру) Ошибка Сегментации |
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
|
29.06.2016, 23:43 | 2 |
Вы не понимаете собственный язык. Если бы понимали, то смогли бы описать свою проблему. А так, то что описано, понятно только Вам.
0
|
0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 5
|
|
30.06.2016, 17:19 [ТС] | 3 |
Пардон, попробую переформулировать внятнее:
разбираюсь с указателями на структуру и у меня возник вопрос по поводу применения функции "realloc". Ниже привел код: этот код динамически добавляет данные в массив структур (указатель *test) и даже работает, несмотря на то, что закомментированы строки, где изменяется размер памяти (через функцию realloc), используемой под набор структур test. Вопрос в том, почему не возникает ошибка segment fault при добавлении данных в "массив" без резервирования памяти? это происходит автоматически? но тем не менее в первый раз (строка 11) это надо сделать, если не сделать, то как и ожидается, будет ошибка. Не происходит ли утечки памяти в таком коде без realloc в строках 14,17,20? Хотелось бы понять, что я не понимаю (простите за тавтологию). Прошу объяснить, кто знает.
0
|
0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 5
|
|
08.07.2016, 09:46 [ТС] | 5 |
Все о чем говорите про strncopy - все выполняется в коде.. отладчик (gdb) не пишет ни варнингов ни ошибок, выглядит так как будто все правильно. может и правильно, но в этом и вопрос
0
|
08.07.2016, 13:54 | 6 |
У вас в коде неопределенное поведение. Вы пишете вашими последними тремя стркопи в память, которая вам не принадлежит ибо не была выделена. Неопределенное поведение означает, что может быть что угодно.
1
|
08.07.2016, 13:54 | |
08.07.2016, 13:54 | |
Помогаю со студенческими работами здесь
6
Ошибка сегментации Ошибка сегментации Ошибка сегментации Ошибка сегментации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |