Class 6 Exam  >  Class 6 Notes  >  C Programming for Beginners  >  C Function Declaration & C Recursion

C Function Declaration & C Recursion | C Programming for Beginners - Class 6 PDF Download

Definition

You just learned from the previous chapters that you can create and call a function it the following way:
Example

// Create a function

void myFunction() {

  printf("I just got executed!");

}


int main() {

  myFunction(); // call the function

  return 0;

}

A function consist of two parts:

  • Declaration: the function's name, return type, and parameters (if any)
  • Definition: the body of the function (code to be executed)

void myFunction() { // declaration

  // the body of the function (definition)

}

For code optimization, it is recommended to separate the declaration and the definition of the function.
You will often see C programs that have function declaration above main(), and function definition below main(). This will make the code better organized and easier to read:
Example

// Function declaration

void myFunction();


// The main method

int main() {

  myFunction();  // call the function

  return 0;

}


// Function definition

void myFunction() {

  printf("I just got executed!");

}

Another Example

If we use the example from the previous chapter regarding function parameters and return values:
Example

int myFunction(int x, int y) {

  return x + y;

}


int main() {

  int result = myFunction(5, 3);

  printf("Result is = %d", result);


  return 0;

}

// Outputs 8 (5 + 3)

It is considered good practice to write it like this instead:
Example

// Function declaration

int myFunction(int, int);


// The main method

int main() {

  int result = myFunction(5, 3); // call the function

  printf("Result is = %d", result);


  return 0;

}


// Function definition

int myFunction(int x, int y) {

  return x + y;

}

C Recursion

Recursion

Recursion is the technique of making a function call itself. This technique provides a way to break complicated problems down into simple problems which are easier to solve.
Recursion may be a bit difficult to understand. The best way to figure out how it works is to experiment with it.

Recursion Example

Adding two numbers together is easy to do, but adding a range of numbers is more complicated. In the following example, recursion is used to add a range of numbers together by breaking it down into the simple task of adding two numbers:
Example

int sum(int k);


int main() {

  int result = sum(10);

  printf("%d", result);

  return 0;

}


int sum(int k) {

  if (k > 0) {

    return k + sum(k - 1);

  } else {

    return 0;

  }

}

Example Explained

When the sum() function is called, it adds parameter k to the sum of all numbers smaller than k and returns the result. When k becomes 0, the function just returns 0. When running, the program follows these steps:

10 + sum(9)

10 + ( 9 + sum(8) )

10 + ( 9 + ( 8 + sum(7) ) )

...

10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + sum(0)

10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0

Since the function does not call itself when k is 0, the program stops there and returns the result.
The developer should be very careful with recursion as it can be quite easy to slip into writing a function which never terminates, or one that uses excess amounts of memory or processor power. However, when written correctly recursion can be a very efficient and mathematically-elegant approach to programming.

The document C Function Declaration & C Recursion | C Programming for Beginners - Class 6 is a part of the Class 6 Course C Programming for Beginners.
All you need of Class 6 at this link: Class 6
10 videos|13 docs|15 tests

Top Courses for Class 6

10 videos|13 docs|15 tests
Download as PDF
Explore Courses for Class 6 exam

Top Courses for Class 6

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

study material

,

Previous Year Questions with Solutions

,

Semester Notes

,

practice quizzes

,

Important questions

,

Objective type Questions

,

past year papers

,

C Function Declaration & C Recursion | C Programming for Beginners - Class 6

,

ppt

,

pdf

,

shortcuts and tricks

,

C Function Declaration & C Recursion | C Programming for Beginners - Class 6

,

Extra Questions

,

Exam

,

Free

,

video lectures

,

MCQs

,

mock tests for examination

,

C Function Declaration & C Recursion | C Programming for Beginners - Class 6

,

Sample Paper

,

Summary

,

Viva Questions

;