kbhit() and getc() are both Borland-C proprietary function calls; you will only find them in Borland compilers.
If you are writing a text-driven game (i.e. the user is typing things in), then you would probably be best off looking at the GNU readline library:
http://tiswww.case.edu/php/chet/readline/rltop.html which is non-standard but very portable. But that only works with lines of text, not individual keystrokes. You could also use standard C functions (fgets() using stdin as the input stream).
The standard UNIX way to detect a single keystroke is to set the terminal into non-canonical mode, setting the input stream as non-blocking, and either select() or poll() for a new keystroke or register an interrupt handler callback. See
http://en.wikibooks.org/wiki/Serial_Programming/termios
However, termios can be complicated and unforgiving, so you may want to look at the ncurses library (
http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/) for a more convenient way of handling a terminal.
If you are using a graphical (X) environment, then you will probably want to look at the SDL library instead (
http://lazyfoo.net/SDL_tutorials/lesson08/index.php) which provides cross-platform support for various hardware access, including the keyboard.
Hope that helps,
–Robert J Lee