## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Functions

An IDC function always returns a value. There are 2 kinds of functions:

- built-in functions
- user-defined functions A user-defined function is declared this way: static func(arg1,arg2,arg3) { statements … } It is not necessary to specify the parameter types because all necessary type conversions are performed automatically.

By default all function arguments are passed by value, except:

      - objects are always passed by reference
      - functions are always passed by reference
      - it is possible to pass a variable by reference using the & operator

If the function to call does not exist, IDA tries to resolve the name using the debugged program labels. If it succeeds, an dbg_appcall is performed.