UKUUG home


(the UK's Unix & Open Systems User Group)






Book Discounts

Other Discounts

Mailing lists






C Pocket Reference Peter Prinz and Ulla Kirch-Prinz
Published by O'Reilly and Associates
134 pages
£ 9.95
Published: 29th November 2002
reviewed by John Collins
   in the June 2003 issue (pdf), (html)

This book is intended as a pocket reference for C programmers.

The first 72 pages of the book go through every aspect of the C language and the remainder covers library functions.

I have to say that I was very disappointed with this book. It seems to me a mistake to discuss the finer points of C syntax in a pocket reference.No one is going to learn C from a book like this and the old hands aren't going to want to thumb through 72 pages to refresh their memories on the layout of IEEE floating-point (which you are not guaranteed to have in all implementations of C of course) or the layout of bit-fields. I should have thought a much snappier summary of syntax would have been appropriate leaving it for the larger works to go into all the details. This is supposed to be a ``pocket reference'' not a ``suitcase reference''.

I was not very happy about the treatment of library functions. I would like a pocket reference to present a clear table, with clear listing of arguments, return values and error indications. If you need more detail, you should go elsewhere. I should also like to see comments and warning messages about compatibility between various implementations. Instead each function is presented, some in completely unexpected places, with a about 10 lines of verbiage to describe the action and arguments. In places system calls get muddled with library routines. Process management and signals get put in a peremptory page or two at the end. Most of the definitions are Microsoft based. I noticed that in another place mktime is shown in a diagram but it isn't defined anywhere.

Particularly unforgivable, in my view, is that no mention is made of security problems with functions, for example tmpnam is presented without mentioning that it is not generally thread-safe and better alternatives are often available. Most alarming of all is that gets, the scourge of security everywhere is presented without a health warning. You can wreak havoc with scanfand sprintf too, but no mention is made of those dangers. snprintf, the safer alternative to sprintf, is mentioned only briefly in the blurb about sprintf and sscanf which appear in the section on string handling. When mentioning the format arguments, the reference is just to ``earlier in this book'' no page number is given.

Producing a good pocket reference is a difficult task to get right. However these people have not done it in my view. It is illogically set out, incomplete and hard to find your way around. It is most disappointing as so many of the pocket references O'Reilly produce are excellent.

Back to reviews list

Tel: 01763 273 475
Fax: 01763 273 255
Web: Webmaster
Queries: Ask Here
Join UKUUG Today!

UKUUG Secretariat
More information

Page last modified 03 Apr 2007
Copyright © 1995-2011 UKUUG Ltd.