One of the best ways to get help with programming in gnome is probably to first read the available documentation at www.gnome.org, or the developer web site at developer.gnome.org. You should also subscribe to the firstname.lastname@example.org, to subscribe, send a message with subscribe in the subject line to email@example.com. To reduce the traffic on the list you should first consult the documentation before asking a question. Also look at www.gnome.org/mailing-lists/ for a list of all GNOME relevant mailing lists, including the GTK+ list.
However I still consider the header files for the libraries most helpful. This is mostly as there isn't yet as much documentation out there as there should be, but also the header files will always contain all of the definitions and they will be up to date with the current version, which a manual might not be. Most GTK+ and GNOME function names are very descriptive and it's easy to figure out what they do. I use the header files only. It's much easier to just look at the function prototype and figure out what it does, then to hunt around in a reference manual. Then again you usually have to know what header file to look at, which is not all that hard, given that the header files are named by the objects or modules they represent. For example the header file for gnome-config is libgnome/gnome-config.h. The header file for GnomeCanvas is libgnomeui/gnome-canvas.h.