وبلاگ بلیان

Modern C

جلد کتاب Modern C

معرفی کتاب «Modern C» نوشتهٔ Charlotte Wood و Gustedt, Jens، منتشرشده توسط نشر 2018 در سال 2018. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

introduction and reference for modern C discovered [here](https://stackoverflow.com/a/52722236/1429450) see also [these OA books on C](https://www.ossblog.org/learn-c-programming-with-9-excellent-open-source-books/) introduction and reference for modern C Level 0. Encounter 9 1. Getting started 9 1.1. Imperative programming 9 1.2. Compiling and running 11 2. The principal structure of a program 14 2.1. Grammar 14 2.2. Declarations 15 2.3. Definitions 17 2.4. Statements 18 Level 1. Acquaintance 21 Warning to experienced C programmers 21 3. Everything is about control 23 3.1. Conditional execution 23 3.2. Iterations 25 3.3. Multiple selection 28 4. Expressing computations 31 4.1. Arithmetic 31 4.2. Operators that modify objects 34 4.3. Boolean context 35 4.4. The ternary or conditional operator 36 4.5. Evaluation order 37 5. Basic values and data 38 5.1. Basic types 40 5.2. Specifying values 42 5.3. Initializers 45 5.4. Named constants 46 5.5. Binary representions 50 6. Aggregate data types 58 6.1. Arrays 58 6.2. Pointers as opaque types 63 6.3. Structures 64 6.4. New names for types: typedef 68 7. Functions 70 7.1. Simple functions 70 7.2. main is special 71 7.3. Recursion 73 8. C Library functions 78 8.1. Mathematics 82 8.2. Input, output and file manipulation 82 8.3. String processing and conversion 92 8.4. Time 95 8.5. Runtime environment settings 99 8.6. Program termination and assertions 100 Level 2. Cognition 103 9. Style 103 9.1. Formatting 103 9.2. Naming 104 10. Organization and documentation 107 10.1. Interface documentation 108 10.2. Implementation 111 10.3. Macros 111 10.4. Pure functions 113 11. Pointers 114 11.1. Address-of and object-of operators 116 11.2. Pointer arithmetic 117 11.3. Pointers and structs 120 11.4. Opaque structures 123 11.5. Array and pointer access are the same 123 11.6. Array and pointer parameters are the same 124 11.7. Null pointers 125 11.8. Function pointers 126 12. The C memory model 129 12.1. A uniform memory model 130 12.2. Unions 130 12.3. Memory and state 132 12.4. Pointers to unspecific objects 133 12.5. Implicit and explicit conversions 134 12.6. Effective Type 135 12.7. Alignment 136 13. Allocation, initialization and destruction 138 13.1. malloc and friends 139 13.2. Storage duration, lifetime and visibility 147 13.3. Initialization 152 13.4. Digression: a machine model 154 14. More involved use of the C library 157 14.1. Text processing 157 14.2. Formatted input 163 14.3. Extended character sets 165 14.4. Binary files 172 15. Error checking and cleanup 173 Level 3. Experience 179 16. Performance 179 Safety first 179 Optimizers are good enough 180 Help the compiler 180 16.1. Inline functions 181 16.2. Avoid aliasing: restrict qualifiers 184 16.3. Measurement and inspection 185 17. Functionlike macros 191 17.1. how does it work 192 17.2. Argument checking 194 17.3. Accessing the calling context 197 17.4. Variable length argument lists 200 17.5. Type generic programming 207 18. Variations in Control Flow 214 18.1. Sequencing 215 18.2. Short jumps 217 18.3. Functions 220 18.4. Long jumps 220 18.5. Signal handlers 225 19. Threads 233 19.1. Simple inter-thread control 235 19.2. Thread local data 236 19.3. Critical data and critical sections 237 19.4. Communicating through condition variables 239 19.5. More sophisticated thread management 242 20. Atomic access and memory consistency 244 20.1. The ``happend before'' relation 245 20.2. Synchronizing C library calls 246 20.3. Sequential consistency 247 20.4. Other consistency models 248 Level 4. Ambition 251 21. The register overhaul 252 Overview 253 21.1. Introduce register storage class in file scope 253 21.2. Typed constants with register storage class and const qualification 254 21.3. Extend ICE to register constants 257 21.4. Functions 259 21.5. Unify designators 261 22. Improve type generic expression programming 264 22.1. Storage class for compound literals 265 22.2. Inferred types for variables and functions 266 22.3. Anonymous functions 269 23. Improve the C library 271 23.1. Make the presence of all C library headers mandatory 271 23.2. Add requirements for sequence points 277 23.3. Provide type generic interfaces for string functions 279 24. Modules 282 24.1. C needs a specific approach 283 24.2. All is about naming 283 24.3. Modular C features 284 25. Simplify the object and value models 285 25.1. Remove objects of temporary lifetime 285 25.2. Introduce comparison operator for object types 285 25.3. Make memcpy and memcmp consistent 285 25.4. Enforce representation consistency for _Atomic objects 286 25.5. Make string literals char const[] 286 25.6. Default initialize padding to 0 286 25.7. Make restrict qualification part of the function interface 286 25.8. References 287 26. Contexts 287 26.1. Introduce evaluation contexts in the standard 287 26.2. Convert object pointers to void* in unspecific context 287 26.3. Introduce nullptr as a generic null pointer constant and deprecate NULL 287 List of Rules 288 Listings 288 Bibliography 303 Index 307 C,programming,C11,ISO
دانلود کتاب Modern C