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 объявлена как указатель на символ, поэтому возможно приведение типа при использовании в коде.