Ошибка несовместимости типов в присваивании в функции dbrun - C (СИ)

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

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

char buf_send[BUF_SIZE];
 
void dbrun(char buffer[BUF_SIZE]){
     buf_send = buffer;
}
 
int main(){
    
    char buf[BUF_SIZE];
    /*здесь мы заполняем buf и передаем ее функции ниже */
    dbrun(buf);
   /*здесь засовываю buf_send в сокет и обратно к клиенту*/
Так вот ошибка несовместимости типов в присваивании в функции dbrun. Хотя на мой взгляд типы совершенно одинаковые. А вообще попутно вопрос такой. Как логичнее организовать обработку данных сервером. Собственно buf - это пришедшая команда от клиента(фактически данные через сокет), которая передается в функцию dbrun, где она обрабатывается и выдаются данные в переменную send_buf, которая отправляется обратно клиенту. Надеюсь не совсем запутанно объяснил)). Так вот изначально была идея просто передать в функцию dbrun указатель на buf и обработав заполнить

его же

данными и отправить через сокет клиенту(чтобы не вводить дополнительную переменную buf_send), но долбаный синтаксис и несовместимости типов изводят. Разъясните в чем ошибка в приведенном коде и как синтаксически верно реализовать идею через указатель. Прошу прощение за ламерский вопрос.

Решение задачи: «Ошибка несовместимости типов в присваивании в функции dbrun»

textual
Листинг программы
void dbrun(char *buffer)
{    
    printf("%s", buffer);
}
 
int main()
{    
    char buf[64];      
    /*получил строку buf*/    
    dbrun(buf);   
    /*отсылаю buf_send*/ 
}

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

  1. В функции dbrun есть одна переменная типа char *buffer, которая является указателем на строку символов.
  2. Функция dbrun принимает на вход указатель на строку символов и выводит ее на экран с помощью функции printf.
  3. В функции main есть одна переменная типа char buf[64], которая является массивом символов (строкой) длиной 64 символа.
  4. В функции main создается экземпляр функции dbrun и передается в качестве аргумента указатель на переменную buf.
  5. Результатом работы функции dbrun является вывод строки на экран.
  6. В функции main после вызова функции dbrun ничего не происходит.

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


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

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

8   голосов , оценка 4.375 из 5
Похожие ответы