How to quickly navigate/jump between functions on emacs?

How to quickly navigate/jump between functions on emacs? I'm looking for a way to jump quickly to functions on emacs. I'm using the emacs search to do it,but it's too slow and fail. For example,I need to make sure to type a string that will not match to function prototype or function call. I need to include the type of function and begging of parameters type to it.. and depending to coding syntax style used in the program,it's hard/inviable to do. What exactly I'm looking for: something that I type just the function name and jump to begging of it. My current language is C on linux. But if there's such feature to another programming languages and platforms,please show me too. Will be very appreciated.

Please: don't suggest "use an IDE" I'm fine with emacs.


M-x imenu lets you jump to functions in the same file. I have bound it to Super-i for easy access.


I have been using cscope integrated into Emacs, and it works really well for searching for functions, variables etc and jumping around between them.

Edit: in .emacs (or .xemacs/init.el) I have:

(require 'xcscope)
(setq cscope-do-not-update-database t)

Then I just manually run cscope on the source files as needed (for the Linux kernel, make cscope, which also works on many other large projects).