Ошибка "cannot convert 'struct1 *' to 'struct1 *' (передача указателя на массив структур в функцию) - C (СИ)

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

Добрый вечер! Уважаемые специалисты, помогите, пожалуйста, исправить ошибку. Код следующий:
#include "stdio.h"
#include "conio.h"
 
#define sz 4
#define szsn 200
#define szfn 100
#define szpn 100
#define f 15
 
struct fulln  {char sn[szsn]; char fir[szfn]; char pn[szpn]; };
struct date {int num; int mon; int year; };
struct stud {struct fulln fio; struct date ent; struct date exc; };
 
void printstr(struct stud *p, int n, int x, int y);
 
void main()
{
 clrscr();
 
struct stud list[sz]=
 { {{"Petrov", "Petr", "Ivanovich"}, {25,12,1980}, {0,0,0}},
     {{"Sidorov", "Ivan", "Nikolaevich"}, {1,1,2000}, {12,1,2001}},
     {{"Chukhyrmukhyrr", "Georgiy", "Alexandrovich"}, {1,9,2010}, {1,7,2014}} };
 
 struct stud *C;
 C=&list[0];
 
printstr(C, 3, 2, 17);
 
 getch();
}
 
void printstr(struct stud *p, int n, int x, int y)
{
    int i, j;
    for(i=0; i<n; i++)
    {
             gotoxy(x,y+i);
         cprintf("%s", (p+i)->fio.sn);
             gotoxy(x+f+1,y+i);
             cprintf("%s", (p+i)->fio.fir);
         gotoxy(x+f*2+1,y+i);
         cprintf("%s", (p+i)->fio.pn);
    }
}
Борланд ругается на строку № 28
printstr(C, 3, 2, 17);
Сообщение об ошибке: "cannot convert ' stud *' to ' stud *' Все что нашла об этой ошибке:
Cannot convert тип_1 to тип_2 Сообщение об ошибке этапа компиляции (невозможно преобразовать тип_1 в тип_2) Присваивание, инициализация или выражение требует выполнение заданного преобразования типа, но данное преобразование недопустимо.
т.е. переменной типа struct stud* присваивается значение типа struct stud*, но они же вроде одинаковые... Не судите строго, я только учусь...

Код к задаче: «Ошибка "cannot convert 'struct1 *' to 'struct1 *' (передача указателя на массив структур в функцию) - C (СИ)»

textual
#include "stdio.h"
#include "conio.h"
 
#define sz 4
#define szsn 200
#define szfn 100
#define szpn 100
#define f 15
 
struct fulln  {char sn[szsn]; char fir[szfn]; char pn[szpn]; };
struct date {int num; int mon; int year; };
struct stud {struct fulln fio; struct date ent; struct date exc; };
 
void printstr(struct stud *p, int n, int x, int y);
 
void main()
{
 clrscr();
 struct stud list[sz]=
 {
     {{"Petrov", "Petr", "Ivanovich"}, {25,12,1980}, {0,0,0}},
     {{"Sidorov", "Ivan", "Nikolaevich"}, {1,1,2000}, {12,1,2001}},
     {{"Chukhyrmukhyrr", "Georgiy", "Alexandrovich"}, {1,9,2010}, {1,7,2014}}
 };
 
 struct stud *C;
 C=&list[0];
 
 printstr(C, 3, 2, 17);
 
getch();
}
 
void printstr(struct stud *p, int n, int x, int y)
{
    int i, j;
    for(i=0; i<n; i++)
    {
         gotoxy(x,y+i);
         cprintf("%s", (p+i)->fio.sn);
         gotoxy(x+f+1,y+i);
         cprintf("%s", (p+i)->fio.fir);
         gotoxy(x+f*2+1,y+i);
         cprintf("%s", (p+i)->fio.pn);
    }
}

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


СОХРАНИТЬ ССЫЛКУ