What you'll learn?

·     Understand and use Functions.

·     Create data types.

·     Master the use of pointers in a wide variety of problems.

·     Use sophisticated pointer techniques to solve problems involving advanced data structures such as lists.

Description

This course broadens the skills of a C language programmer by introducing sophisticated problem solving techniques including the advanced use of pointers, abstract data types, and data structures. Skills are reinforced by hands-on laboratory exercises.

Audience :

For anybody who has been programming in C for at least six months or who is a skilled programmer and has taken a C introductory course.

Topics :

A Review of C

o  Data Types

o  Operators

o  Control Flow Constructs - if

o  Loops

o  switch

o  Derived Data Types

o  Arrays

o  Array vs. Pointer

o  Arrays and Pointers

o  Structures

o  Header File for a Structure

o  Use of Structures

o  Structure References

o  Structure Assignments

o  Unions

o  Bitfields

o  Enumerations

Functions

o  Function Fundamentals

o  Function Prototypes

o  Function Invocation and Definition

o  Subprogram Examples

o  Functions Returning a Value

o  Return Value Considerations

o  Recursive Functions

o  Evaluation of Function Arguments

o  Variable Number of Arguments

o  Scope of Variables

o  Storage Class Attributes

o  Initialization

Pointers

o  Common Pointer Constructions

o  Pointer Arithmetic

o  Binary Search

o  Command Line Arguments

o  The Environment Pointer

o  Changing a Pointer through a Function Call

o  Processing Arrays With Pointers

o  Simulation Example

o  Simulating Higher Dimensional Arrays

o  Two Dimensional Arrays

o  Complex Declarations

o  Pointers to Functions

o  Surrogate Sorting: A Pointer Application

o  Sorting with Large Records

Designing Data Types: Structures

o  Steps in Creating Data Types

o  Rationale For a New Data Type

o  The File fraction.h

o  Operations on the Fraction Data Types

o  Implementation of the Functions

o  Example Program Using Fractions

o  Applications with Fractions

o  Set Notation Examples

o  Creating the Set Type

o  Set Representation Example

o  Set Representation

o  Set Function Implementations

o  A Program Which Uses The Set Data Type

Data Structures

o  Potential List Elements

o  Lists - What Are They?

o  Problems With a List as an Array

o  Lists as Arrays

o  Benefits of Linking Elements

o  A List of Linked Elements

o  Defining the List Data Type

o  The List Data Type

o  Implementations of List Functions

o  A Simple Program With a List

o  Other Types of Lists

o  The Need for Other Kinds of Lists

o  Ordered Lists

o  The rand Function

o  Circular Lists

o  Circular List Code

o  Circular Lists Principles

o  Two Way Lists - Example

o  Two Way Lists

Prerequisities :

Recommended Knowledge :

Trainees should have at least six months of C programming experience.

Recommended Course(s) :

Category :

  • Programming

Training Materials :

YAT Official Courseware

Labs :

This course includes several labs to ensure you will gain the targeted skills and experience.

Related Courses