Difference between revisions of "C-and-C++/C4/Function-Call/English-timed"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
Line 245: Line 245:
 
|-
 
|-
 
| 04:40
 
| 04:40
|The output is displayed as: Before swapping 6 and 4
+
|The output is displayed as: '''Before swapping 6 and 4'''
  
 
|-
 
|-
 
| 04:44
 
| 04:44
|After swapping 4 and 6.
+
|'''After swapping 4 and 6'''.
  
 
|-
 
|-

Latest revision as of 11:43, 28 April 2020

Time Narration
00:01 Welcome to the spoken tutorial on Function calls in C and C++.
00:07 In this tutorial, we will learn about type of function calls namely-
00:13 call by value call by reference.
00:16 We will do this through an example.
00:19 To record this tutorial, I am using Ubuntu Operating system version 11.10,
00:26 gcc and g++ Compiler version 4.6.1.
00:31 Let us start with the introduction to function call by value.
00:35 It is a method of passing arguments to the function.
00:40 When we pass a variable by value, it makes a copy of the variable
00:45 before passing to the function.
00:48 Changes made to the arguments, inside the function, will remain in the function.
00:54 It will not be affected outside the function.
00:58 Let us see a program on 'function call by value'.
01:02 I have already typed the program on the editor. I will just open it.
01:08 Please note our file name is callbyval.c.
01:13 In this program, we will calculate the cube of a number. Let me explain the code now.
01:19 This is our header file.
01:21 Here we have function cube having an argument as int x. .
01:27 In this function, we calculate the cube of x and return the value of x.
01:33 This is our main() function.
01:36 Here we give the value of n as 8, 'n' is an integer variable.
01:43 Then we call the function cube.
01:45 And print the value of 'n' and the cube of n.
01:49 And this is our return statement.
01:52 Now let us execute the program.
01:54 open the terminal window by pressing Ctrl, Alt and T keys simultaneously on your keyboard.
02:02 To compile , type gcc space callbyval.c space hyphen o space val. Press Enter.
02:12 Now, type ./val (dot slash val). Press Enter.
02:16 The output is displayed as: Cube of 8 is 512.
02:23 Now we will see 'function call by reference'.
02:26 Let us go back to our slides.
02:29 It is another method of passing arguments to the function.
02:33 This method copies the address of the argument instead of the value.
02:39 Changes made to the arguments, inside a function, can affect them outside.
02:45 In this we need to declare the arguments as pointer type.
02:50 Let us see an example on function call by reference.
02:54 Note that our file name is callbyref.c.
02:59 This is our header file as stdio.h.
03:03 Then we have function swap.
03:06 This function will exchange the values of the variables.
03:10 Value of 'a' will be stored in value of 'b' and vice versa.
03:15 You can see that the arguments passed in the function are pointer type.
03:21 Here we have declared an integer variable t.
03:25 First, value of 'a' is stored in 't'.
03:28 Then value of 'b' is stored in 'a'.
03:32 And then value of 't' is stored in 'b'.
03:37 Like this, the values are exchanged.
03:40 This is our main() function.
03:42 Here we have declared two integer variables as i and j.
03:49 Then we take the values of i and j as user inputs.
03:53 Ampersand i (&i) and Ampersand j (&j) will give the memory address of i and j.
03:59 First, we print the values before swapping.
04:04 Then we call the function swap.
04:06 And then we print the values after swapping.
04:10 And this is our return statement.
04:13 Now let us execute the program.
04:16 Switch back to our terminal.
04:19 To compile type gcc space callbyref dot c space hyphen o space ref. Press Enter.
04:29 Now type dot slash ref. Press Enter.
04:33 We see, 'Enter the values'. I will enter as 6 and 4.
04:40 The output is displayed as: Before swapping 6 and 4
04:44 After swapping 4 and 6.
04:48 Now let us see how to execute the same program in C++.
04:53 I have the code, lets go through it.
04:57 This is the second program, function call by reference .
05:01 Note that our file name is callbyref.cpp
05:06 Let us go through the code.
05:08 This is our header file as iostream .
05:12 Here we are using the std namespace.
05:16 The function declaration is same in C++.
05:19 In this we pass the arguments as ampersand x and ampersand y.
05:25 This will give the memory address of x and y.
05:29 Then we swap the values.
05:32 Rest of the code is similar to our C code.
05:36 The printf statement is replaced by cout and the scanf statement is replaced by cin.
05:44 Now let us execute the program. Come back to our terminal.
05:48 To compile type, g++ space callbyref.cpp space hyphen o space ref1, press Enter.
06:00 Now, type dot slash ref1. Press Enter.
06:05 Here it is displayed as:
06:07 Enter values of a and b
06:10 I will enter as 4 and 3.
06:13 The output is displayed.
06:15 Before swapping a and b 4 and 3
06:19 After swapping a and b 3 and 4
06:23 This brings us to the end of this tutorial.
06:26 Let us go back to our slides.
06:30 Let us summarize, In this tutorial we learnt:
06:32 Function call by value.
06:34 And Function call by reference.
06:37 As an assignment,write a similar program to calculate the cube of a number,
06:42 using call by value in C++.
06:46 Watch the video available at the link shown below.
06:49 It summarizes the Spoken Tutorial project.
06:52 If you do not have good bandwidth, you can download and watch it.
06:56 The Spoken Tutorial Project Team:
06:58 Conducts workshops using spoken tutorials.
07:01 Gives certificates to those who pass an online test.
07:05 For more details, please write to contact@spoken-tutorial.org.
07:11 Spoken Tutorial Project is a part of the Talk to a Teacher project.
07:15 It is supported by the National Mission on Education through ICT, MHRD, Government of India.
07:23 More information on this mission is available at the link shown below.
07:27 This is Ashwini Patil from IIT Bombay, signing off.
07:31 Thank You for joining.

Contributors and Content Editors

Kavita salve, Krupali, PoojaMoolya, Pratik kamble, Sandhya.np14, Sneha