Once we've covered the fundamentals of programming on a C course, we move on to cover pointers, arrays, structures, strings, input/output, and dynamic memory allocation. We teach and illustrate each of them, and we have our delegates write practical exercises to make sure that they have a grasp of the concepts, and are aware of the common pitfalls.
But a language like C is really all about the COMBINATION of all the factors, and long after the course would normally have concluded yesterday evening, I wrote a "pull it all together" example in front of the group - reading an unknown number of records from a file (so we had to use the dynamic memory stuff), and forming each of the records into s structure in that dynamic memory. We then called functions to analyse and extract the information from the structures and report it back to the user of the program. Full source code
[here].
The example ... (not really a surprise) ... will lead us nicely into object orientation, and C++, which I'll be tackling with the same group and others from 9 O'Clock this morning; OO can be a really tricky concept to see in practical examples early in learning as it's a system / technique that's really good for larger projects, but examples such as the one I'm using this week ease it naturally in!
To learn about our C and C++ course range, see
[here].
(written 2011-08-11)
Associated topics are indexed under
C212 - C and C based languages - Memory Management [3416] Storing Tcl source code encoded, and running via your own C program - (2011-09-02)
[3144] Setting up arrays in C - fixed size at compile time, or dynamic - (2011-01-24)
[3118] Arrays of arrays - or 2D arrays. How to program tables. - (2011-01-02)
[2848] C course - final course example puts it all together - (2010-07-02)
[2669] Efficient use of dynamic memory - C and realloc - (2010-03-10)
[1845] Passing a table from Lua into C - (2008-10-18)
[1670] Dynamic Memory Allocation in C - (2008-06-09)
[1589] Dynamic Memory Allocation in C - calloc, realloc - (2008-03-22)
[1581] What is an lvalue? (Perl, C) - (2008-03-18)
[1497] Training Season Starts again! - (2008-01-07)
C209 - C and C based languages - Structures and Unions [3145] Structures v Structure Pointers in C. How, which, why. - (2011-01-25)
[3122] When is a program complete? - (2011-01-06)
[2573] C Structs - what, how and why - (2010-01-13)
[1669] What are Unions (C programming) - (2008-06-08)
[1584] Using Structs and Unions together effectively in C - (2008-03-21)
[1572] C - structs and unions, C++ classes and polymorphism - (2008-03-13)
[1478] Some new C programming examples - files, structs, unions etc - (2007-12-19)
C210 - C and C based languages - File Handling [2572] The what and why of C pointers - (2010-01-13)
[2571] Reading and writing files in C - (2010-01-12)
[2002] New C Examples - pointers, realloc, structs and more - (2009-01-20)
C207 - C and C based languages - Pointers and references [3399] From fish, loaves and apples to money, plastic cards and BACS (Perl references explained) - (2011-08-20)
[3242] How to return 2 values from a function (C++ and C) - more uses of pointers - (2011-04-10)
[3238] Bradshaw, Ben and Bill. And some C and C++ pointers and references too. - (2011-04-09)
[3121] New year, new C Course - (2011-01-05)
[3004] Increment operators for counting - Perl, PHP, C and others - (2010-10-18)
[2670] Pointers to Pointers to Pointers - what is the point? - (2010-03-10)
[2005] Variables and pointers and references - C and C++ - (2009-01-23)
[1155] Pointers in C - (2007-04-19)
Some other Articles
Printing objects in C++Plenty to do in MelkshamTemplates in C++ - defining a family pattern of methods / functionsEating out in Melksham - where we like for lunch.Adding the pieces together to make a complete language - CDo university courses teach the right things for life at work later on?Loops - a comparison of goto, while and forAre people who walk into Melksham being asked to subsidise parking?What is the picture?Report - day trip from Swindon / Chippenham / Melksham to Weymouth