Chris Angelico wrote:
So the question is, what does a 'const struct hash_table *' imply? Is
Strictly speaking it only says that the direct struct hash_table element this pointer is pointing at will not be modified in any way. If the struct contains other pointers, the things these pointers point at can be modified, but not if they point back into the current struct hash_table.
The C-standard doesn't say it (AFAIK), but it is good practice that if the struct is part of an array or linked list, none of the other array or linked list elements are being modified either.