On Friday, September 17, 2010 05:00:55 Simen kjaeraas wrote: > On Fri, 17 Sep 2010 10:12:34 +0200, Jonathan M Davis <jmdavisp...@gmx.com> > > wrote: > > On Thursday 16 September 2010 23:50:16 Kagamin wrote: > >> BCS Wrote: > >> > The trick is that function pointers are best read from the inside out. > >> > >> All C declarations are read from inside out, postfixes take precedence, > >> that's why you have to use braces to give pointer higher precedence. One > >> of the earlier books by Stroustroup gives a nice monster of arrays, > >> pointers and functions to master understanding of declarations. > > > > It's essentially the same principle that makes it so that the D > > declaration > > > > int[4][3] a; > > > > is an array with 3 rows and 4 columns rather than 4 rows and 3 columns > > like > > you'd expect. > > I've always been confused by C in this regard. It seems to logical to me > that T[3] works the same whether T is U[4] or U.
You're going to have to elaborate on that. I'm not quite sure what you're talking about. And the syntax int[4][3] isn't legal C anyway. It just does what C would likely have done had it put the brackets with the type rather than the variable name, since D uses pretty much the same syntax for variable declarations and therefore pretty much the same rules. - Jonathan M Davis