Incompatible types char and char* - C (СИ)

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

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

Привет. В процессе ознакомления с языком Си и в частности со

структурами

, на моем пути встретилась такая ошибка.
incompatible types char and char*
Ошибка возникает в следующем коде:
Листинг программы
  1. struct st
  2. {
  3. int i;
  4. char ch[255];
  5. };
  6. int main(void)
  7. {
  8. struct st arr[2];
  9. arr[0].ch="Ivanov";
Пытался использовать указатель и функцию malloc
Листинг программы
  1. struct st
  2. {
  3. int i;
  4. char *ch;
  5. };
  6. int main(void)
  7. {
  8. struct st arr[2];
  9. arr[0].ch=(char*) malloc(7);
  10. arr[0].ch="Ivanov";
В итоге компилятор об ошибке больше не сообщает но сама программа во время выполнения вылетает в appcrash; -Заранее извиняюсь если вопрос глупый.

Решение задачи: «Incompatible types char and char*»

textual
Листинг программы
  1. struct st
  2. {
  3.     long int i;
  4.     char ch[];
  5. };
  6. int main(void)
  7. {
  8.     setlocale (LC_ALL, "");
  9.     struct st arr[2];
  10.  
  11.         strcpy(arr[0].ch, "Ю.Гагарин");
  12.         arr[0].i=1961;
  13.  
  14.         strcpy(arr[1].ch, "Г.Титов");
  15.         arr[1].i=1961;
  16.  
  17.         strcpy(arr[2].ch, "Д.Гленн");
  18.         arr[2].i=1962;
  19.  
  20.     int i;
  21.     for(i=0; i<3; i++)
  22.     {
  23.         if(arr[i].i>1961)
  24.         {
  25.             printf("%s\n",arr[i].ch);
  26.             printf("%i\n",arr[i].i);
  27.         }
  28.     }
  29.     return (0);
  30. }

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

  1. В начале кода объявляется структура st, которая содержит два поля: i типа long int и ch типа char[].
  2. В функции main создается массив структур arr размером 2, который заполняется данными о космонавтах.
  3. В цикле for происходит проверка значения поля i каждой структуры массива arr. Если значение больше 1961, то выводятся значения полей ch и i этой структуры.
  4. В конце функции main возвращается значение 0, что означает успешное завершение работы программы.

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут