Introducing functions
C is a procedural programming language,
meaning that its primary
synchronous control flow mechanism is the
procedure call.
C names its procedures functions
(in contrast, Java has a different mechanism - methods).
- In Mathematics, we apply a function,
such as the trigonometric function cos,
to one or more values.
The function performs an evaluation,
and returns a result.
- In many programming languages,
including C,
we call or invoke a function.
We evaluate zero or more expressions,
the result of each expression is copied to a memory location
where the function can receive them as arguments,
the function's statements are executed
(often involving the arguments),
and a result is returned
(unless the function is stuck in an infinite-loop or exits the process!)
We've already seen the example of main() - the function that all C
programs must have, which we might write in different ways:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// check the number of arguments
if(argc != 2) {
....
exit(EXIT_FAILURE);
}
else {
....
exit(EXIT_SUCCESS);
}
return 0;
}
|
|
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int result;
// check the number of arguments
if(argc != 2) {
....
result = EXIT_FAILURE;
}
else {
....
result = EXIT_SUCCESS;
}
return result;
}
|
|
The operating system calls main(),
passing to it some (command-line) arguments,
main() executes some statements,
and returns to the operating system a result -
usually EXIT_SUCCESS or EXIT_FAILURE.
CITS2002 Systems Programming, Lecture 4, p1, 31st July 2024.
|