Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 21
1

Крашит программу примерно при вызове функции free()

02.08.2017, 21:57. Показов 1433. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всё заполняется без ошибок, как и выводит, но примерно на освобождении памяти просто крашит программу.Пробовал компилить и по дефолту, и со знаком -Wall - никаких ошибок:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
 
 
 
int main(int argc, char const *argv[])
{
    int *numbers = (int *)malloc(6);
    for (int i = 0; i < 6; ++i)
    {
        printf("Enter number %d: ", i);scanf("%d", &numbers[i]);
    }
    for (int i = 0; i < 6; ++i)
    {
        printf("%d\n", numbers[i]);
    }
    free(numbers);
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2017, 21:57
Ответы с готовыми решениями:

Программа вылетает при вызове free
Решил начать с написания простой программы, реализующей простенький калькулятор, использующий ОПЗ....

Класс - Ошибки при вызове методов: В вызове функции отсутствует список аргументов
Добрый вечер всем! При изучении и написании работы столкнулся с ошибкой от которой не могу...

Автоматический вызов функции при вызове функции
Доброго времени суток! Есть задача по событие вызова некой функции назовем ее function1(),...

Добавить аргумент при вызове функции при условии
Привет! Появился вопрос - можно ли добавить либо не добавлять аргумент при вызове функции исходя...

5
Заклинатель змей
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,606
02.08.2017, 22:24 2
smileinshadow, забавно, тут работает. Добавьте точку останова на и перед free и посмотрите сообщения во время отладки, мб выкинет что-то
0
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 21
02.08.2017, 22:29  [ТС] 3
Alex0x0000058, работаю в sublime 3 и в нём с отладкой пока не дружу.Начинаю подумывать, что проблема просто в компиляторе.У меня gcc 5.3 под win 7
0
Заклинатель змей
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,606
02.08.2017, 22:31 4
Добавлено через 1 минуту
smileinshadow, smileinshadow,

Не по теме:

лучше поставьте полноценную IDE

Попробуйте в Visual Studio, например
0
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 21
02.08.2017, 22:34  [ТС] 5
Alex0x0000058, даже не знаю что это значит в отладчике.Позже подумываю перейти на с++ и там уже перейду на vs)
Миниатюры
Крашит программу примерно при вызове функции free()  
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,961
03.08.2017, 01:32 6
Лучший ответ Сообщение было отмечено HighPredator как решение

Решение

Цитата Сообщение от smileinshadow Посмотреть сообщение
int *numbers = (int *)malloc(6);
C
1
2
3
4
5
int *numbers = (int *)malloc(6 * sizeof(int));
if ( ! numbers ) {
    perror("memory error!\n");
    return 1;
}
1
03.08.2017, 01:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2017, 01:32
Помогаю со студенческими работами здесь

Ошибка при вызове функции
Есть функция begin: function = begin(F1) F = imread(F1); = size(F) Imax = max(F(:)) Imin =...

Ошибка при вызове функции
1С 8.3 В форме элемента, код: &amp;НаКлиенте Процедура КонтрольЗаписи(Элемент)...

Ошибка при вызове функции
В функции NewWords вызывается функция correct,при отладке я не могу войти в эту функцию,к тому же...

Проблема при вызове функции
Написал для себя простенькую напоминалку, выводящую указанное сообщение через определённый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru