Structuring Data and Building Algorithms: An ANSI-C Based Approach