1. Preface

Welcome to this book on C programming using a particular specification version C11. As of now C1 is the latest specification fully implemented by C compilers. However, not all elements of the specification is implemented by compilers, for example, gcc does not implement multithreading.

These days I have noticed a tendency that people think Java, PHP, Python or Javascript are more used and they have a tendency to overlook the merits of C as a programming language. The benefits of learning C is described further in Chapter 1 “Introduction”.

C is one of the language which is closest to system and very useful for system programming though not limited to it. It is also very fundamental to many languages as you will discover along your programming endeavours. I highly recommend that all programmers must learn C programmer in order to become a better programmer. You do not have many choices in the category of compiled languages anyway.

This book does not contain a lot of problems and examples. For practice please checkout my book on data structure and algorithms which will have those. Also, please read specification because certain sections I have avoided to keep things simple.

1.1. Acknowledgements

I do not have much to write in preface as I have covered most of it in Chapter 1. Therefore, I will skip directly to acknowledgements section. First, I would like to thank my parents, wife and son for taking out their fair share of time and the support which they have extended to me during my bad times. After that I would like to pay my most sincere gratitude to my teachers particularly H. N. Singh, Yogendra Yadav, Satyanand Satyarthi, Kumar Shailesh and Prof. T. K. Basu. Now is the turn of people from software community. I must thank the entire free software community for all the resources they have developed to make computing better. However, few names I know and here they go. Richard Stallman is the first, Donald Knuth, Dennis Ritchie, Ken Thompson, Bjarne Stroustrup after that. I possibly cannot write all the names because then possibly an entire chapter will be full of those names. :-)

I am not a native English speaker and this book has just gone through one pair of eyes therefore chances are high that it will have lots of errors. At the same time it may contain lots of technical errors. Please feel free to drop me an email at <shivshankar.dayal@gmail.com>. I will try to fix all errors and incorporate your valuable suggestions.