Cannot convert int to Void* - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Возникает ошибка при динамическом расширении памяти. вот фрагменты большой курсовой.
#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]
 
.....
я применяю реаллок в функции увеличиваю буффер текст на +1 байт пишет такую ошибку Cannot convert int to Void*

Решение задачи: «Cannot convert int to Void*»

textual
Листинг программы
buffer_text = (char *) malloc(81);

Объяснение кода листинга программы

  1. В данном коде выделяется память в динамической области памяти с помощью функции malloc().
  2. Выделенная память будет использоваться для хранения строки символов.
  3. Тип данных переменной buffer_text - указатель на символ (char *).
  4. Значение переменной buffer_text - адрес памяти, выделенной с помощью функции malloc().
  5. В данном коде не происходит приведения типа, но переменная buffer_text объявлена как указатель на символ, поэтому возможно приведение типа при использовании в коде.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5