Advanced C Programming - ITCourseware
Advanced C Programming
Student Workbook
2 Advanced C Programming
Advanced C Programming Jeff Howell
Published by itcourseware, 10333 E. Dry Creek Rd., Suite 150, Englewood, CO 80112
Special thanks to: Many instructors whose ideas and careful review have contributed to the quality of this workbook, including Brandon Caldwell, Denise Geller, Todd Gibson, Roger Jones, Channing Lovely, and Danielle Waleri, and the many students who have offered comments, suggestions, criticisms, and insights.
Copyright ? 1994-1999 by itcourseware, Inc. All rights reserved. No part of this book may
be reproduced or utilized in any form or by any means, electronic or mechanical, including photo-copying, recording, or by an information storage retrieval system, without permission in
writing from the publisher. Inquiries should be addressed toitcourseware, Inc., 10333 E. Dry
Creek Rd., Suite 150, Englewood, Colorado, 80112. (303) 874-1099. All brand names, product names, trademarks, and registered trademarks are the property of their respective owners.
? 1994-1999 by itcourseware, Inc. 8/99
Advanced C Programming
3
Contents
Chapter 1 - Course Introduction ............................................................................................. 7
Course Objectives ........................................................................................................... 9 Course Overview ........................................................................................................... 11 Suggested References .................................................................................................. 13
Chapter 2 - The C Development Evnironment ...................................................................... 15
Chapter Objectives ........................................................................................................ 17 The cc (1) Command ..................................................................................................... 19 Include Files ................................................................................................................... 21 Libraries ........................................................................................................................ 23 Exercises ...................................................................................................................... 25
Chapter 3 - Basic and Derived Data Types in C .................................................................. 27
Chapter Objectives ........................................................................................................ 29 Simple C Data Types ..................................................................................................... 31 Integral Data Types ........................................................................................................ 33 Floating Point Types ...................................................................................................... 35 Derived Data Types ....................................................................................................... 37 Array Data Types - Single and Multi-dimensional ........................................................... 39 Structure Data Types ...................................................................................................... 41 Simple Pointer Types..................................................................................................... 43 Pointers to Structures / Multiple Pointers ........................................................................ 45 Pointers to Functions ..................................................................................................... 47 The const Qualifier ......................................................................................................... 49 Bit Operators ................................................................................................................. 51 Using typedef................................................................................................................. 53 Exercises ...................................................................................................................... 55 Appendix ....................................................................................................................... 57
Chapter 4 - Functions: Calling, Passing, and Returning Values ............................................ 59
Chapter Objectives ........................................................................................................ 61 Anatomy of a Function ................................................................................................... 63 Parameter Passing - Pass by Value ............................................................................... 65
? 1994-1999 by itcourseware, Inc. 8/99
4 Advanced C Programming
Parameter Passing - Pass by Reference ....................................................................... 67 Exercises ...................................................................................................................... 69
Chapter 5 - Standard I/O ...................................................................................................... 71
Chapter Objectives ........................................................................................................ 73 Standard I/O Streams ..................................................................................................... 75 File Access .................................................................................................................... 77 Formatted I/O................................................................................................................. 79 String I/O ........................................................................................................................ 81 File Positioning Operations............................................................................................ 83 Block I/O ........................................................................................................................ 85 Exercises ...................................................................................................................... 87
Chapter 6 - Low Level File I/O ............................................................................................. 93
Chapter Objectives ........................................................................................................ 95 Standard I/O vs System I/O ............................................................................................. 97 File Access .................................................................................................................... 99 Low Level I/O - Read and Write .................................................................................... 101 File Positioning ............................................................................................................ 103 Error Handling ............................................................................................................. 105 Exercises .................................................................................................................... 107
Chapter 7 - MemoryAllocation with malloc and calloc ........................................................ 109
Chapter Objectives ....................................................................................................... 111 Dynamic MemoryAllocation Overview .......................................................................... 113 malloc(), calloc()........................................................................................................... 115 realloc(), free() ............................................................................................................. 117 Example ...................................................................................................................... 119 Example:Array of Pointers to Structures ...................................................................... 121 Exercises .................................................................................................................... 123
Chapter 8 - Memory Organization and Scope of Variables ................................................ 125
Chapter Objectives ...................................................................................................... 127 Command LineArguments (argc, argv) ........................................................................ 129 The Memory Layout of a C Program............................................................................. 131 The Stack Segment ..................................................................................................... 133 The Heap Segment...................................................................................................... 135 Exercises .................................................................................................................... 137
? 1994-1999 by itcourseware, Inc. 8/99
Advanced C Programming
5
Chapter 9 - Data Structures: Linked Lists .......................................................................... 139 Chapter Objectives ...................................................................................................... 141 Problem -Array Limitations .......................................................................................... 143 Solution - Linked Lists.................................................................................................. 145 Linked List - Formation ................................................................................................ 147 List Operations - Delete ............................................................................................... 149 Exercises .................................................................................................................... 151
Appendix A ....................................................................................................................... 153 Debugging Techniques ................................................................................................ 155 Debugging Hints .......................................................................................................... 157 Debugging with Pre-Processing Directives .................................................................. 163 Debug Macro............................................................................................................... 165 Symbolic Debuggers ................................................................................................... 167
Appendix B ....................................................................................................................... 169 Coding from Pseudo Code .......................................................................................... 171 Project Header Files .................................................................................................... 173 Project Source Files .................................................................................................... 175 Project Tracking (Bookkeeping) ................................................................................... 177
Appendix C ....................................................................................................................... 179 Overview of the Make Utility ......................................................................................... 181 Using the Make Utility .................................................................................................. 183 Simple Makefile Commands ........................................................................................ 185
Appendix D ....................................................................................................................... 187 Preparing to Use a Debugger ...................................................................................... 189 Project Header Files .................................................................................................... 191 Project Source Files .................................................................................................... 193 Project Tracking (Bookkeeping) ................................................................................... 195
Solutions -Advanced C Programming ............................................................................... 197 Exercise Solutions ....................................................................................................... 198
? 1994-1999 by itcourseware, Inc. 8/99
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- chapter 12 debugging makefiles o reilly media
- windows and linux terminals command lines
- using vmrun to control virtual machines
- the complete guide to powershell punctuation
- shellshock vulnerability owasp
- linux command line for you and me documentation
- cygwin command line windows
- getting started with microsoft powershell
- advanced c programming itcourseware
Related searches
- c programming language standard
- c programming language specification
- c programming int to string
- c programming books pdf
- c programming book pdf download
- c programming textbook pdf
- c programming for beginners pdf
- c programming string array
- c programming array examples
- c programming linked list
- c programming char array initialization
- c programming character array