You are viewing a single comment's thread.

view the rest of the comments →

0
1

[–] DrBunsen 0 points 1 point (+1|-0) ago  (edited ago)

Anything that is underneat the main, doesn't get loaded in and has to be loaded into the memory to be able to be used. That is what

int add(int, int);

is doing, saying we got an int returning function called add, and it uses 2 parameters that are ints.

0
0

[–] shmuklidooha [S] ago 

Yeah, but why not just define the whole add(){} function at the start?

0
1

[–] ghost_marauder 0 points 1 point (+1|-0) ago 

This prevents issues for the compiler during cyclic definitions

int f(int a){return g(a);}

int g(int a){return f(a);}

will spit out an error saying stuff was not declared.

int f(int a);

int g(int a);

int f(int a){return g(a);}

int g(int a){return f(a);}

will have no compiler issues. This is a leftover from the days when compilers didn't do any backtracking.

0
1

[–] DrBunsen 0 points 1 point (+1|-0) ago 

I don't know, I declare all my functions before to main to avoid doing this, but whatever floats your boat I guess.