Sorry, this question is just too broad to give a meaningful answer. If you narrow it down, you will get better responses.
Surely you can find out what is a function by looking at any number of books and web articles and tutorials on C programming.
Programming in C is one such source; you can find many others simply by typing "c programming" into Google.
If there is a particular C function, such as shmget--or even an aspect of C functions, such as function pointers--that is giving you trouble, we can help. Otherwise the question invites the kind of pontification that is neither instructive for the questioner nor satisfying for the respondent.