I am profoundly disturbed by the poor quality of this book. Here is an example to show why I feel that way. The example was chosen almost at random but even I was shocked when I came to type it in. I would not accept such code from a first year student.
On page 139 the author provides the following code (I have taken great care to copy the code exactly as it is in the book):
Struct address \\ A
{
plot char [30], struc char[30];
city char[30]
}
struct student \\ B
{
name char[30];
marks float;
struct address adr;
}
main ( )
{
struct student student1; \\D
struct student class[20]; \\E
class[1].marks = 70; // F
I have stopped at this point as it continues with a hard coded initialisation of class[1] followed by five printf() statements to output the contents of class[1] to stdout. Nowhere do the authors expalin why they want an array, why they ignore the first element of the array and why the bothered with defining student1. In addition the use of 'class' as a name introduces a gratuitous incompatibility with C++.
There then follows a section explaining the code. The first item is:
1. Statement A declares the address of a structure containing the members plot, street and city.
That code is so bad that I can think of no explanation for how a book on C could be distributed with such code in it.
I am disturbed by the number of positive reviews this book has had from readers because no one who actually tried the code provided by the authors could have got it working and the explanations are often bizarre.
Were it possible I would give this book minus 5 stars because learning from it would seriously impede a reader's development as a programmer.
There are numerous better books on both Data Structures and C. Indeed almost any book on either subject would be better.