Effective C: An Introduction to Professional C Programming. 2 Ed

Оглавление⌄
Cover....1 Praise for Effective C....3 Title Page....5 Copyright....6 Dedication....7 About the Author....9 About the Contributor....9 About the Technical Reviewer to the First Edition....9 About the Technical Reviewer to the Second Edition....10 Brief Contents....11 Contents in Detail....13 Foreword to the Second Edition....19 Foreword to the First Edition....21 Acknowledgments....23 Introduction....25 A Brief History of C....26 The C Standard....27 The CERT C Coding Standard....28 Common Weakness Enumeration....28 Who This Book Is For....28 What’s in This Book....29 1. Getting Started With C....31 Developing Your First C Program....31 Compiling and Running a Program....33 Function Return Values....34 Formatted Output....35 Editors and Integrated Development Environments....36 Compilers....37 GNU Compiler Collection....38 Clang....38 Microsoft Visual Studio....38 Portability....39 Implementation-Defined Behavior....39 Unspecified Behavior....40 Undefined Behavior....40 Locale-Specific Behavior and Common Extensions....41 Summary....41 2. Objects, Functions, and Types....43 Entities....43 Declaring Variables....44 Swapping Values, First Attempt....45 Swapping Values, Second Attempt....46 Object Types....48 Boolean....48 Character....49 Arithmetic....49 void....52 Derived Types....52 Function....52 Pointer....53 Array....55 Structure....57 Union....58 Tags....59 Type Qualifiers....61 const....61 volatile....62 restrict....63 Scope....64 Storage Duration....65 Storage Class....66 static....66 extern....67 thread_local....67 constexpr....67 register....68 typedef....68 auto....68 typeof Operators....69 Alignment....70 Variably Modified Types....72 Attributes....73 Summary....75 3. Arithmetic Types....77 Integers....78 Padding, Width, and Precision....78 Integer Ranges....78 Integer Declarations....79 Unsigned Integers....79 Signed Integers....82 Bit-Precise Integer Types....86 Integer Constants....87 Floating-Point Representation....89 Floating Types and Encodings....89 C Floating-Point Model....90 Floating-Point Arithmetic....92 Floating-Point Values....92 Floating Constants....94 Arithmetic Conversion....94 Integer Conversion Rank....95 Integer Promotions....96 Usual Arithmetic Conversions....97 An Example of Implicit Conversion....99 Safe Conversions....100 Summary....102 4. Expressions and Operators....103 Simple Assignment....104 Evaluations....105 Function Invocation....106 Increment and Decrement Operators....107 Operator Precedence and Associativity....108 Order of Evaluation....110 Unsequenced and Indeterminately Sequenced Evaluations....111 Sequence Points....111 sizeof Operator....112 Arithmetic Operators....113 Unary + and –....113 Logical Negation....113 Additive....113 Multiplicative....114 Bitwise Operators....115 Complement....115 Shift....116 Bitwise AND....117 Bitwise Exclusive OR....118 Bitwise Inclusive OR....118 Logical Operators....119 Cast Operators....120 Conditional Operator....121 alignof Operator....122 Relational Operators....122 Compound Assignment Operators....123 Comma Operator....123 Pointer Arithmetic....124 Summary....126 5. Control Flow....127 Expression Statements....127 Compound Statements....128 Selection Statements....129 if....129 switch....132 Iteration Statements....135 while....135 do...while....136 for....137 Jump Statements....139 goto....139 continue....141 break....141 return....142 Summary....143 6. Dynamically Allocated Memory....145 Storage Duration....146 The Heap and Memory Managers....146 When to Use Dynamically Allocated Memory....147 Memory Management....147 malloc....148 aligned_alloc....150 calloc....150 realloc....151 reallocarray....153 free....153 free_sized....154 free_aligned_sized....154 Memory States....156 Flexible Array Members....157 Other Dynamically Allocated Storage....158 alloca....158 Variable-Length Arrays....159 Debugging Allocated Storage Problems....162 dmalloc....162 Safety-Critical Systems....164 Summary....165 7. Characters and Strings....167 Characters....168 ASCII....168 Unicode....168 Source and Execution Character Sets....170 Data Types....170 Character Constants....172 Escape Sequences....173 Linux....174 Windows....175 Character Conversion....176 Strings....179 String Literals....180 String-Handling Functions....182 and ....182 Annex K Bounds-Checking Interfaces....191 POSIX....194 Microsoft....195 Summary....195 8. Input/Output....197 Standard I/O Streams....198 Error and End-of-File Indicators....198 Stream Buffering....199 Predefined Streams....200 Stream Orientation....201 Text and Binary Streams....202 Opening and Creating Files....202 fopen....202 open....204 Closing Files....206 fclose....206 close....207 Reading and Writing Characters and Lines....207 Stream Flushing....210 Setting the Position in a File....210 Removing and Renaming Files....213 Using Temporary Files....214 Reading Formatted Text Streams....214 Reading from and Writing to Binary Streams....218 Endian....221 Summary....222 9. Preprocessor....225 The Compilation Process....226 File Inclusion....227 Conditional Inclusion....228 Generating Diagnostics....230 Using Header Guards....231 Macro Definitions....232 Macro Replacement....235 Type-Generic Macros....237 Embedded Binary Resources....239 Predefined Macros....240 Summary....241 10. Program Structure....243 Principles of Componentization....243 Coupling and Cohesion....244 Code Reuse....245 Data Abstractions....245 Opaque Types....247 Executables....248 Linkage....249 Structuring a Simple Program....251 Building the Code....255 Summary....257 11. Debugging, Testing, and Analysis....259 Assertions....259 Static Assertions....260 Runtime Assertions....262 Compiler Settings and Flags....263 GCC and Clang Flags....265 GCC and Clang Flags....265 Debugging....271 Unit Testing....275 Static Analysis....280 Dynamic Analysis....282 AddressSanitizer....283 Running the Tests....284 Instrumenting the Code....284 Running the Instrumented Tests....285 Summary....287 Future Directions....287 Appendix: The Fifth Edition of the C Standard (C23)....289 Attributes....289 Keywords....290 Integer Constant Expressions....290 Enumeration Types....291 Type Inference....291 typeof Operators....292 K&R C Functions....292 Preprocessor....292 Integer Types and Representations....293 unreachable Function-Like Macro....294 Bit and Byte Utilities....294 IEEE Floating-Point Support....295 References....297 Index....301 Back Cover....314
Описание
Коротко и по делу о том, что важно знать про effective.
Effective C, 2nd edition, is an introduction to essential C language programming that will soon have you writing programs, solving problems, and building working systems.
The latest release of the C programming language, C23, enhances the safety, security, and usability of the language. This second edition of Effective C has been thoroughly updated to cover C23, offering a modern introduction to C that will teach you best practices for writing professional, effective, and secure programs that solve real-world problems.
Robert C. Effective C is a true product of the C community. Seacord, a long-standing member of the C standards committee with over 40 years of programming experience, developed the book in collaboration with other C experts, such as Clang’s lead maintainer Aaron Ballman and C project editor JeanHeyd Meneide. Thanks to the efforts of this expert group, you’ll learn how to:
Develop professional C code that is fast, robust, and secureUse objects, functions, and types effectivelySafely and correctly use integers and floating-point typesManage dynamic memory allocationUse strings and character types efficientlyPerform I/O operations using C standard streams and POSIX file descriptorsMake effective use of C’s preprocessorDebug, test, and analyze C programsThe world runs on code written in C. Effective C will show you how to get the most out of the language and build robust programs that stand the test of time.
New to this edition: This edition has been extensively rewritten to align with modern C23 programming practices and leverage the latest C23 features.
Updated to cover C23
Файл доступен для загрузки ниже.
Поделиться
Частые вопросы
Можно ли скачать «Effective C: An Introduction to Professional C Programming. 2 Ed» бесплатно?
Да, «Effective C: An Introduction to Professional C Programming. 2 Ed» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 4,9 МБ.
Кто автор и когда вышла книга?
автор — Seacord Robert C., издательство No Starch Press, Inc., год выпуска 2025, 314 страниц.
О чём книга «Effective C: An Introduction to Professional C Programming. 2 Ed»?
Effective C, 2nd edition, is an introduction to essential C language programming that will soon have you writing programs, solving problems, and building working systems.The latest release of the C programming language, C23, enhances the sa