| Advanced C Language Programming
5 Days course Language: English This course is only available on request!! |
![]() |
|
DESCRIPTION |
WHAT YOU WILL LEARN |
|
WHO SHOULD ATTEND: |
ASSUMED KNOWLEDGE |
OUTLINES
CHAPTER 1: REVIEW OF CCHAPTER 2: FUNCTIONS
1) Function fundamentals
2) Function prototypes
3) Return values
4) Recursive functions
5) Evaluation of function arguments
6) Variable number of arguments
7) Scope of variables
8) Initialization
CHAPTER 3: BIT MANIPULATION
1) Defining the problem space
2) Operators
3) Writing bitwise functions
4) Circular shifts
5) Direct lookup
6) Mapping with bits
7) Radix sorting
CHAPTER 4: POINTERS
1) Common pointer constructions
2) Pointer arithmetic
3) Command line arguments
4) The environment pointer
5) Processing arrays with pointers
6) Simulating higher dimensional arrays
7) Two dimensional arrays
8) Complex declarations
9) Pointers to functions
10) Surrogate sorting
CHAPTER 5: DESIGNING DATA TYPES
1) Rationale for a new data type
2) Creating the fraction type
3) Implementing the fraction functions
4) Applications with fractions
5) Creating the set type
6) Set representation
7) Set function implementations
CHAPTER 6: DATA STRUCTURES
1) Lists - What are they?
2) Lists as arrays
3) A list of linked elements
4) The list data type
5) List function implementation
6) Other types of lists
7) Ordered lists
8) Circular lists
9) Two way lists
10) Networks
11) A linked list application - hashing
12) Stacks
13) Queues
14) Trees
CHAPTER 7: OPTIMIZATION TECHNIQUES
1) Where to optimize
2) Macros
3) Initialization
4) Modifying data structures
5) Caching
6) Removing invariants from loops
7) Logical inefficiencies
8) Odds and ends
CHAPTER 8: PORTABILITY ISSUES
1) Source code portability
2) Portability with functions
3) Arithmetic data types
4) Bit manipulation problems
5) Portable bit masks
6) Pointer problems
7) ANSI vs non-ANSI
8) Odds and ends
APPENDIX 1: SOFTWARE TOOLS
1) Compiler options
2) Conditional compilation
3) Debugging with the assert macro
4) Creating libraries
5) A graphics example
6) The make command
7) The source code control system
APPENDIX 2: USEFUL LIBRARY FUNCTIONS
1) The system function
2) Exit and atexit
3) The signal function
4) Strtok
5) Memcpy and memset
6) Qsort
7) Bsearch
8) Strstr
9) String validation functions
APPENDIX 3: I/O FILE ACCESS
1) System calls vs librarycalls
2) Opening disk files
3) Access mode
4) Errors in opening files
5) I/O library calls
6) The scanf functions
7) Closing files
8) Servicing errors
9) Binary I/O