27. The C Programming Language
                
                
                    
                    27.1 C and C++: siblings
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                    
                        
                        27.1.1 C/C++ compatibility
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.1.2 C++ features missing from C
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.1.3 The C standard library
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                 
                
                    
                    27.2 Functions
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                    
                        
                        27.2.1 No function name overloading
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.2.2 Function argument type checking
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.2.3 Functiondefinitions
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.2.4 Calling C from C++ and C++ from C
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.2.5 Pointers to functions
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                 
                
                    
                    27.3 Minor language differences
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                    
                        
                        27.3.1 struct tag namespace
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.3.2 Keywords
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.3.3 Definitions
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.3.4 C-stylecasts
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.3.5 Conversion of void*
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.3.6 enum
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.3.7 Namespaces
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                 
                
                    
                    27.4 Freestore
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                 
                
                    
                    27.5 C-style strings
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                    
                        
                        27.5.1 C-style strings and const
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.5.2 Byte operations
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.5.3 An example: strcpy()
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.5.4 A style issue
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                 
                
                    
                    27.6 Input/output: stdio
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                    
                        
                        27.6.1 Output
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.6.2 Input
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.6.3 Files
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                 
                
                    
                    27.7 Constants and macros
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                 
                
                    
                    27.8 Macros
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                    
                        
                        27.8.1 Function-like macros
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.8.2 Syntax macros
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                    
                        
                        27.8.3 Conditional compilation
                        
                        
                            ![]() 
                            
                            
                        
                        
                        
                     
                 
                
                    
                    27.9 An example: intrusive containers
                    
                    
                        ![]() 
                        
                        
                    
                    
                    
                 
                
                    
                    Test Yourself!
                    
                    
                         
                        
                        
                    
                 
                
                    
                    Drill
                    
                    
                        