Incompatible types char and char* - C (СИ)
Формулировка задачи:
Привет. В процессе ознакомления с языком Си и в частности со
Ошибка возникает в следующем коде:
Пытался использовать указатель и функцию malloc
В итоге компилятор об ошибке больше не сообщает но сама программа во время выполнения вылетает в appcrash;
-Заранее извиняюсь если вопрос глупый.
структурами
, на моем пути встретилась такая ошибка.
incompatible types char and char*
struct st { int i; char ch[255]; }; int main(void) { struct st arr[2]; arr[0].ch="Ivanov";
struct st { int i; char *ch; }; int main(void) { struct st arr[2]; arr[0].ch=(char*) malloc(7); arr[0].ch="Ivanov";
Решение задачи: «Incompatible types char and char*»
textual
Листинг программы
struct st { long int i; char ch[]; }; int main(void) { setlocale (LC_ALL, ""); struct st arr[2]; strcpy(arr[0].ch, "Ю.Гагарин"); arr[0].i=1961; strcpy(arr[1].ch, "Г.Титов"); arr[1].i=1961; strcpy(arr[2].ch, "Д.Гленн"); arr[2].i=1962; int i; for(i=0; i<3; i++) { if(arr[i].i>1961) { printf("%s\n",arr[i].ch); printf("%i\n",arr[i].i); } } return (0); }
Объяснение кода листинга программы
- В начале кода объявляется структура
st
, которая содержит два поля:i
типаlong int
иch
типаchar[]
. - В функции
main
создается массив структурarr
размером 2, который заполняется данными о космонавтах. - В цикле
for
происходит проверка значения поляi
каждой структуры массиваarr
. Если значение больше 1961, то выводятся значения полейch
иi
этой структуры. - В конце функции
main
возвращается значение 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д