## 7.1 General Remarks

Before we go into more detail we start with some general remarks.

Several functions of the interface rely on the fact that their arguments are of a certain type. For example

> `char *OZ_atomToC(OZ_Term t)`

expects `t` to be an Oz atom and returns a string representing the print name of `t`. In case `t` is not an atom, the behaviour of `OZ_atomToC` is undefined and it will typically crash the whole system.

If not stated otherwise all functions that return pointers into memory, return a pointer to a memory area that is allocated statically. This provides highest flexibility and efficiency. For example the string returned by `OZ_atomToC` must not be overwritten by the user and the next call to any of the interface functions may modify it. So the user should take care to make a copy of these memory blocks if necessary and free it again himself.