OT: Programming in C

Bill Davidsen davidsen at tmr.com
Mon Apr 21 17:41:27 UTC 2008


Les Mikesell wrote:
> Bill Davidsen wrote:
>>
>>> Quiz for next Friday. What are these and what's the difference 
>>> between them:
>>>
>>> int     (*(**p)[])(int)
>> declare p as pointer to pointer to array of pointer to function (int) 
>> returning int
>>
>>> and
>>> int     *(*(**p)[])(int)
>> declare p as pointer to pointer to array of pointer to function (int) 
>> returning pointer to int
>>
>> I would really want to see both a justification of method and 
>> certificate of sanity to someone who actually used either. I can just 
>> barely justify pointer to array of function returning int (state 
>> machines), these look like something a compiler compiler would do.
> 
> I sort of recall using a pointer to an array of structs as the basic 
> data type for anything significant in C but I've mostly forgotten why. I 
> think sometimes it had to do with getting usable semantics to access 
> things in shared memory segments.
> 
Pointer to struct is the heart of good linked lists, and a pointer to 
array of struct is certainly a reasonably use. I certainly use arrays of 
pointers to functions, both for state machines and and emulators, after 
that it gets very hard to maintain.

-- 
Bill Davidsen <davidsen at tmr.com>
   "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot




More information about the fedora-list mailing list