For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Pointers to Pointers to Pointers - what is the point?
From today's course - a new example showing pointers to pointers to pointers
. But why
C pointers are useful in many ways:
• they let you pass a single value into a function that holds a whole collection of data
• they let you call by 'name' so that functions can alter values (see here
• they let you access additional dynamic memory (example of that - here
• they let functions return an item that's of unknown size.
But why pointers to pointers?
Because they let you hold and process collections withing collections easily. As well as the first example, we have another example that does this - pascal's triangle all in dynamic memory - here
And in real life, it can represent a whole data heirarcy too.
• I have a number of food product objects
• Each is in a dish object
• A number of dish objects meal up a meal object
• and we build up a collection of meal objects into a daily diet.
And we could go on.
• A familiy's daily diet objects makes a shopping object
• and a store's customers each day make up a turnover
I think I may have six levels of pointers there.
This all gets very hard to write and to look after; structured coding can help, but far better to use objects, which is where C++ comes in. I'm teaching a C++ Course
tomorrow ... so I expect you may find some more examples along these line on the next blog entries. (written 2010-03-10)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesC207 - C and C based languages - Pointers and references 
Pointers in C - (2007-04-19) 
Some new C programming examples - files, structs, unions etc - (2007-12-19) 
Training Season Starts again! - (2008-01-07) 
Variables and pointers and references - C and C++ - (2009-01-23) 
The what and why of C pointers - (2010-01-13) 
Increment operators for counting - Perl, PHP, C and others - (2010-10-18) 
New year, new C Course - (2011-01-05) 
Bradshaw, Ben and Bill. And some C and C++ pointers and references too. - (2011-04-09) 
How to return 2 values from a function (C++ and C) - more uses of pointers - (2011-04-10) 
Adding the pieces together to make a complete language - C - (2011-08-11) 
From fish, loaves and apples to money, plastic cards and BACS (Perl references explained) - (2011-08-20) 
Allocating memory dynamically in a static language like C - (2013-06-30) 
Variables, Pointers and References - C and C++ - (2015-10-29)
Some other Articles
Make and makefiles - a commented example to help you learnMultiple Inheritance in C++ - a complete exampleDear Planners, please provide viable alternativesMelksham - Carnival, Party in the Park, and Spot the OddityPointers to Pointers to Pointers - what is the point?Efficient use of dynamic memory - C and reallocIs it worth it?Web page to telephone calls / links using an iPhoneRandom thoughts on Melksham Town Planning and developmentEarly Spring walk in Melksham
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).