M-x semantic-mode
www.gnu.org/software/emacs/manual/html_node/semantic/Using-Semantic.html#Using-Semantic
&&
Tags Tables
find . -name "*.[chCH]" -print | etags -
www.gnu.org/software/emacs/manual/html_node/emacs/Tags.html
etags, ctags - generate tag file for Emacs, vi
manpages.debian.org/cgi-bin/man.cgi?query=etags&apropos=0&sektion=0&manpath=Debian+8+jessie&format=html&locale=en
C-M-i (or M-TAB) completion-at-point.
If Semantic mode enabled, tries to use Semantic parser data.
If Semantic mode disabled or fails, tries to complete using selected tags table (see Tags)
http://www.gnu.org/software/emacs/manual/html_node/emacs/Symbol-Completion.html#index-C_002dM_002di
M-. (find-tag) prompts tag name && jump to definition
http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Tag.html#index-M_002d_002e