Fundamental C: Getting Closer To The Machine

C is a good language to learn. It was designed to do a very different job from...
€52,36 EUR
€52,36 EUR
SKU: 9781871962604
Product Type: Books
Please hurry! Only 609 left in stock
Author: Harry Fairhead
Format: Paperback
Language: English
Subtotal: €52,36
10 customers are viewing this product
Fundamental C: Getting Closer To The Machine by Fairhead, Harry

Fundamental C: Getting Closer To The Machine

€52,36

Fundamental C: Getting Closer To The Machine

€52,36
Author: Harry Fairhead
Format: Paperback
Language: English

C is a good language to learn. It was designed to do a very different job from most modern languages and the key to understanding it is not to just understand the code, but how this relates to the hardware.


Fundamental C takes an approach that is close to the hardware, introducing addresses, pointers, and how things are represented using binary. An important idea is that everything is a bit pattern and what it means can change. As a C developer you need to think about the way data is represented, and Harry Fairhead encourages this. He emphasizes the idea of modifying how a bit pattern is treated using type punning and unions. This power brings with it the scourge of the C world - undefined behavior - which is ignored in many books on C. Here, not only is it acknowledged, it is explained together with ways to avoid it.

A particular feature of the book is the way C code is illustrated by the assembly language it generates. This helps you understand why C is the way it is.

For beginners, the book covers installing an IDE and GCC before writing a Hello World program and then presents the fundamental building blocks of any program - variables, assignment and expressions, flow of control using conditionals and loops.

Once the essentials are in place, data types are explored before looking at arithmetic and representation. Harry then goes deeper into evaluating expressions before looking at functions and their scope and lifetime. Arrays, strings, pointers and structs are covered in separate chapters, as is bit manipulation, a topic that is key to using C, and the idea of a file as the universal approach to I/O. Finally, he looks at the four stages of compilation of a C program, the use of static and dynamic libraries and make.

This is C as it was always intended to be written - close to the metal.


Harry Fairhead has a hardware background and, having worked with microprocessors and electronics in general, for many years, he is an enthusiastic proponent of the IoT. His recent titles include Raspberry Pi IoT in C and Micro: bit IoT in C. His next, Applying C For The IoT With Linux at intermediate/advanced level is intended as a companion to this book for those working in a Linux/POSIX environment, in particular the Raspberry Pi.



Author: Harry Fairhead
Publisher: I/O Press
Published: 03/13/2019
Pages: 268
Binding Type: Paperback
Weight: 1.03lbs
Size: 9.25h x 7.50w x 0.56d
ISBN: 9781871962604

This title is not returnable

Returns Policy

You may return most new, unopened items within 30 days of delivery for a full refund. We'll also pay the return shipping costs if the return is a result of our error (you received an incorrect or defective item, etc.).

You should expect to receive your refund within four weeks of giving your package to the return shipper, however, in many cases you will receive a refund more quickly. This time period includes the transit time for us to receive your return from the shipper (5 to 10 business days), the time it takes us to process your return once we receive it (3 to 5 business days), and the time it takes your bank to process our refund request (5 to 10 business days).

If you need to return an item, simply login to your account, view the order using the "Complete Orders" link under the My Account menu and click the Return Item(s) button. We'll notify you via e-mail of your refund once we've received and processed the returned item.

Shipping

We can ship to virtually any address in the world. Note that there are restrictions on some products, and some products cannot be shipped to international destinations.

When you place an order, we will estimate shipping and delivery dates for you based on the availability of your items and the shipping options you choose. Depending on the shipping provider you choose, shipping date estimates may appear on the shipping quotes page.

Please also note that the shipping rates for many items we sell are weight-based. The weight of any such item can be found on its detail page. To reflect the policies of the shipping companies we use, all weights will be rounded up to the next full pound.

Related Products

Recently Viewed Products