Cannot convert int to Void* - C (СИ)
Формулировка задачи:
Возникает ошибка при динамическом расширении памяти.
вот фрагменты большой курсовой.
я применяю реаллок в функции увеличиваю буффер текст на +1 байт
пишет такую ошибку Cannot convert int to Void*
#include <stdlib.h> #include <stdio.h> #include <malloc.h> #include <string.h> #include <conio.h> #define ENTER 13 #define exit_input_txt 1 #define SCREEN_WIDTH 80 #define SCREEN_HIGHT 24 [COLOR="Red"]char *buffer_text[/COLOR] ; char string_sep[SCREEN_WIDTH]; char last_str[SCREEN_WIDTH]; char exit_word[SCREEN_WIDTH]; char main_str[SCREEN_WIDTH]; char kill_str[SCREEN_WIDTH]; char buffer_text_string[SCREEN_WIDTH]; ... buffer_text=(char*)malloc(SCREEN_WIDTH*sizeof(char)); .... int input_text_string(char *buff,int len) { int index_txt=0; int m; char ch; do { ch=getch(); [COLOR="Red"]m=(sizeof(buffer_text)/sizeof(buffer_text[0])); buffer_text=(char*)realloc(m,(m+1)*sizeof(char*)); [/COLOR] .....
Решение задачи: «Cannot convert int to Void*»
textual
Листинг программы
buffer_text = (char *) malloc(81);
Объяснение кода листинга программы
- В данном коде выделяется память в динамической области памяти с помощью функции malloc().
- Выделенная память будет использоваться для хранения строки символов.
- Тип данных переменной buffer_text - указатель на символ (char *).
- Значение переменной buffer_text - адрес памяти, выделенной с помощью функции malloc().
- В данном коде не происходит приведения типа, но переменная buffer_text объявлена как указатель на символ, поэтому возможно приведение типа при использовании в коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д