Grob Team wrote:
Hi,
I was looking the hlist's implementation in the linux kernel
(linux/include/linux/list.h). The description of hlist_node is:
struct hlist_node {
struct hlist_node *next, **pprev;
};
I don't understand why there is a pointer to a pointer (**pprev) for
the previous node instead of a simple pointer (*pprev). I quickly look
the general functions in list.h who use this structure and I don't see
something particular which can explain why we use a pointer to a
pointer. Can someone explain it to me?
Thanks
I've never looked at any of the list stuff, but I assume it's an array
of pointers. Just like when you pass in args to your main(argv
char**). As for why it's like this, I have no clue, but there is
probably a many->1 relationship allowable that needs to trace back
correctly.
begin:vcard
fn:Scott Lovenberg
n:Lovenberg;Scott
email;internet:scott.lovenberg@xxxxxxxxx
title:Student
tel;cell:570-856-2999
x-mozilla-html:TRUE
url:http://www.scottlovenberg.com
version:2.1
end:vcard