c编程,c书中的数据结构,混乱

我主要用python编写代码。我有c的0经验。我买了一本有关c语言中的数据结构的书,因为我想学习一种低级的语言和算法,所以被告知“ noel kalicharan编写的c语言中的数据结构”是一本不错的入门书,

我已经下载了代码块并正确设置了它。我一直在扔书,跟随他们提供的代码

这就是本书的内容,它给了我很多错误。所以我做了研究,认为这本书已经过时了(2015年出版)

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <float.h>



typedef struct date{
    int day;
    char month[4];
    int year;
}Date;


Date dob, borrowed, returned;

dob.day = 15;
strcpy(dob.month, 'nov');
dob.year =2015;


void printDate (Date d){
    printf("%s %d %d \n", d.month, d.day, d.year);

}

printDate(dob);

我在这里结束了,没有错误,但是print f方法将无法工作。

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <float.h>



typedef struct date{
    int day;
    char month[4];
    int year;
}Date;
int main() {


Date dob, borrowed, returned;

dob.day = 15;
strcpy(dob.month, 'nov');
dob.year =2015;

void printDate (Date d){
    printf("%s %d %d \n", d.month, d.day, d.year);

}
printDate(dob);

return 0;
}
printDate(dob);

我的问题::

-这本书值得信赖吗?好的材料? -关于以c作为自学成才的程序员的任何建议

谢谢