Assignment from incompatible pointer type - C (СИ) (74727)

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

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

assignment from incompatible pointer type
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
 
typedef struct{
char *fname;
char *sname;
char *ukrlit;
char *ukrlan;
char *math;
char *englan;
struct school *next;
}school; 

school *create(char *fname,char *sname,char *ukrlit,char *ukrlan,char *math,char *englan)
{
    school *i=malloc(sizeof(school));
    i->fname=strdup(fname);
    i->sname=strdup(sname);
    i->ukrlit=strdup(ukrlit);
    i->ukrlan=strdup(ukrlan);
    i->math=strdup(math);
    i->englan=strdup(englan);
    i->next=NULL;
    return i;
    
}
int main()
{
char fname[80];
char sname[80];
char ukrlit[30];
char ukrlan[30];
char math[30];
char englan[30];
 
school *a=NULL;
school *b=NULL;
 
for(;fgets(fname,80,stdin)!=NULL;){
    printf("Введіть прізвище\n");
    fgets(sname,80,stdin);
    printf("Введіть оцінку з української літератури\n");
    fgets(ukrlit,30,stdin);
    printf("Введіть оцінку з української мови\n");
    fgets(ukrlan,30,stdin);
    printf("Введіть оцінку з математики\n");
    fgets(math,30,stdin);
    printf("Введіть оцінку з англійської мови\n");
    fgets(englan,30,stdin);
 a=create(fname,sname,ukrlit,ukrlan,math,englan);
     if(b==NULL)
     b=a;
     else
     b->next=a;
     b=a;
}
 
}

Решение задачи: «Assignment from incompatible pointer type»

textual
Листинг программы
typedef struct school {
char *fname;
char *sname;
char *ukrlit;
char *ukrlan;
char *math;
char *englan;
struct school *next;
}

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

  1. Создается структура данных school с полями:
    • fname (тип char*)
    • sname (тип char*)
    • ukrlit (тип char*)
    • ukrlan (тип char*)
    • math (тип char*)
    • englan (тип char*)
    • next (тип struct school*)
  2. В структуре school используется указатель next для хранения ссылки на следующий элемент в списке.
  3. В данном коде не приводится пример использования данной структуры, поэтому нельзя точно сказать, что делает программа.

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

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