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

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{| border = 1
 
{| border = 1
 
 
|'''Time'''
 
|'''Time'''
 
 
|'''Narration'''
 
|'''Narration'''
 
  
 
|-
 
|-
| 00.01
+
| 00:01
|Welcome to the spoken tutorial on Function calls in C and C++
+
|Welcome to the spoken tutorial on '''Function calls in C and C++'''.
  
 
|-
 
|-
| 00.07
+
| 00:07
|In this tutorial we will learn about type of function calls namely
+
|In this tutorial, we will learn about type of function calls namely-
  
 
|-
 
|-
| 00.13
+
| 00:13
|call by value.  
+
| call by value call by reference.  
  
 
|-
 
|-
| 00.14
+
| 00:16
|call by reference.
+
 
+
|-
+
| 00.16
+
 
|We will do this through an example.  
 
|We will do this through an example.  
  
 
|-
 
|-
| 00.19
+
| 00:19
|To record this tutorial, I am using Ubuntu Operating system version 11.10
+
|To record this tutorial, I am using '''Ubuntu Operating system '''version 11.10,
  
 
|-
 
|-
| 00.26
+
| 00:26
|gcc and g++ Compiler version 4.6.1  
+
|'''gcc''' and '''g++''' Compiler version 4.6.1.
  
 
|-
 
|-
| 00.31
+
| 00:31
| Let us start with the introduction to functions call by value
+
| Let us start with the introduction to '''function call by value'''.
  
 
|-
 
|-
| 00.35
+
| 00:35
|It is a method of passing arguments to the function.  
+
|It is a method of passing '''arguments''' to the function.  
  
 
|-
 
|-
| 00.40
+
| 00:40
| When we pass a variable by value it makes a copy of the variable.
+
| When we pass a variable by value, it makes a copy of the variable
  
 
|-
 
|-
| 00.45
+
| 00:45
|Before passing to the function.
+
|before passing to the function.
 
+
  
 
|-
 
|-
|00.48
+
|00:48
|Changes made to the arguments inside the function will remain in the function.  
+
|Changes made to the arguments, inside the function, will remain in the function.  
  
 
|-
 
|-
|00.54
+
|00:54
 
|It will not be affected outside the function.  
 
|It will not be affected outside the function.  
  
 
|-
 
|-
|00.58
+
|00:58
|Let us see a program on function call by value.  
+
|Let us see a program on 'function call by value'.  
  
 
|-
 
|-
| 01.02
+
| 01:02
 
|I have already typed the program on the editor. I will just open it.   
 
|I have already typed the program on the editor. I will just open it.   
  
 
|-
 
|-
| 01.08
+
| 01:08
| Please note our filename is callbyval.c.  
+
| Please note our file name is '''callbyval.c. '''
  
 
|-
 
|-
| 01.13
+
| 01:13
|In this program we will calculate the cube of a number. Let me explain the code now.  
+
|In this program, we will calculate the cube of a number. Let me explain the code now.  
  
 
|-
 
|-
| 01.19
+
| 01:19
|This is our header file
+
|This is our '''header file'''.
  
 
|-
 
|-
| 01.21
+
| 01:21
|Here we have function cube having an argument as int x.  
+
|Here we have function '''cube''' having an '''argument''' as '''int x. '''.
  
 
|-
 
|-
| 01.27
+
| 01:27
|In this function we calculate the cube of x and return the value of x.   
+
|In this function, we calculate the cube of '''x''' and return the value of '''x.  '''
  
 
|-
 
|-
| 01.33
+
| 01:33
|This is our main function.
+
|This is our '''main() function.'''
  
 
|-
 
|-
|01.36
+
|01:36
|Here we give the value of n as 8. n is an integer variable
+
|Here we give the value of '''n''' as '''8''', 'n' is an integer variable.
  
 
|-
 
|-
| 01.43
+
| 01:43
|Then we call the function cube.
+
|Then we call the function '''cube.'''
  
 
|-
 
|-
| 01.45
+
| 01:45
|And print the value of n and the cube of n.
+
|And print the value of 'n' and the cube of n.
  
 
|-
 
|-
| 01.49
+
| 01:49
|And this is our return statement.  
+
|And this is our '''return''' statement.  
 
+
  
 
|-
 
|-
| 01.52
+
| 01:52
 
|Now let us execute the program.  
 
|Now let us execute the program.  
  
 
|-
 
|-
|01.54
+
|01:54
|open the terminal window by pressing ' Ctrl, Alt and T keys simultaneously on your keyboard.  
+
|open the terminal window by pressing ''' Ctrl, Alt''' and '''T''' keys simultaneously on your keyboard.  
  
 
|-
 
|-
|02.02
+
|02:02
|To compile , type gcc space callbyval.c space hyphen o space val. Press Enter
+
|To compile , type '''gcc space callbyval.c space hyphen o space val'''. Press '''Enter'''.
  
 
|-
 
|-
|02.12
+
|02:12
|Now type dot slash val.Press Enter
+
|Now, type '''./val '''(dot slash val). Press '''Enter'''.
  
 
|-
 
|-
|02.16
+
|02:16
|The output is displayed as Cube of 8 is 512.
+
|The output is displayed as: '''Cube of 8 is 512.'''
  
 
|-
 
|-
|02.23
+
|02:23
|Now we will see function call by reference.  
+
|Now we will see 'function call by reference'.  
  
 
|-
 
|-
|02.26
+
|02:26
 
|Let us go back to our slides.  
 
|Let us go back to our slides.  
  
 
|-
 
|-
| 02.29
+
| 02:29
|It is another method of passing arguments to the function.  
+
|It is another method of passing '''arguments''' to the function.  
  
 
|-
 
|-
| 02.33
+
| 02:33
 
| This method copies the address of the argument instead of the value.   
 
| This method copies the address of the argument instead of the value.   
  
 
|-
 
|-
| 02.39
+
| 02:39
|Changes made to the arguments inside a function can affect them outside.  
+
|Changes made to the arguments, inside a function, can affect them outside.  
  
 
|-
 
|-
|02.45
+
|02:45
 
|In this we need to declare the arguments as pointer type.  
 
|In this we need to declare the arguments as pointer type.  
  
 
|-
 
|-
| 02.50
+
| 02:50
 
| Let us see an example on function call by reference.   
 
| Let us see an example on function call by reference.   
  
 
|-
 
|-
| 02.54
+
| 02:54
|Note that our filename is callbyref.c
+
|Note that our file name is '''callbyref.c'''.
  
 
|-
 
|-
| 02.59
+
| 02:59
|This is our header file as stdio.h
+
|This is our header file as '''stdio.h'''.
  
 
|-
 
|-
| 03.03
+
| 03:03
|Then we have function swap
+
|Then we have function '''swap'''.
  
 
|-
 
|-
| 03.06
+
| 03:06
 
|This function will exchange the values of the variables.  
 
|This function will exchange the values of the variables.  
  
 
|-
 
|-
| 03.10
+
| 03:10
|Value of a will be stored in value of b and vice-versa.  
+
|Value of 'a' will be stored in value of 'b' and vice versa.  
  
 
|-
 
|-
| 03.15
+
| 03:15
|You can see that the arguments passed in the function are pointer type.
+
|You can see that the '''arguments''' passed in the function are '''pointer type.'''
  
 
|-
 
|-
| 03.21
+
| 03:21
|Here we have declared an integer variable t.
+
|Here we have declared an '''integer''' variable '''t.'''
  
 
|-
 
|-
| 03.25
+
| 03:25
|First value of a is stored in t.
+
|First, value of 'a' is stored in 't'.
  
 
|-
 
|-
| 03.28
+
| 03:28
|Then value of b is stored in a.
+
|Then value of 'b' is stored in 'a'.
  
 
|-
 
|-
| 03.32
+
| 03:32
| And then value of t is stored in b  
+
| And then value of 't' is stored in 'b'.
  
 
|-
 
|-
| 03.37
+
| 03:37
| Like this the values are exchanged.  
+
| Like this, the values are exchanged.  
  
 
|-
 
|-
| 03.40
+
| 03:40
|This is our main function.  
+
|This is our '''main()''' function.  
  
 
|-
 
|-
| 03.42
+
| 03:42
|Here we have declared two integer variables as i and j .  
+
|Here we have declared two integer variables as i and j.  
 
+
  
 
|-
 
|-
| 03.49
+
| 03:49
 
|Then we take the values of i and j as user inputs.  
 
|Then we take the values of i and j as user inputs.  
  
 
|-
 
|-
| 03.53
+
| 03:53
|Ampersand i and Ampersand j will give the memory address of i and j.
+
|Ampersand i (&i) and Ampersand j (&j) will give the memory address of i and j.
  
 
|-
 
|-
| 03.59
+
| 03:59
|First we print the values before swapping.  
+
|First, we print the values before swapping.  
  
 
|-
 
|-
| 04.04
+
| 04:04
|Then we call the function swap
+
|Then we call the function '''swap'''.
  
 
|-
 
|-
| 04.06
+
| 04:06
 
|And then we print the values after swapping.  
 
|And then we print the values after swapping.  
  
 
|-
 
|-
| 04.10
+
| 04:10
|And this is our return statement.  
+
|And this is our '''return''' statement.  
  
 
|-
 
|-
| 04.13
+
| 04:13
| Now let us execute the program  
+
| Now let us execute the program.
  
 
|-
 
|-
| 04.16
+
| 04:16
| Switch back to our terminal  
+
| Switch back to our terminal.
  
 
|-
 
|-
| 04.19
+
| 04:19
|To compile type gcc space callbyref dot c space hyphen o space ref. Press Enter
+
|To compile type '''gcc space callbyref dot c space hyphen o space ref'''. Press Enter.
  
 
|-
 
|-
| 04.29
+
| 04:29
|Now type dot slash ref. Press Enter
+
|Now type '''dot slash ref'''. Press Enter.
  
 
|-
 
|-
| 04.33
+
| 04:33
|We see, enter the values I will enter as 6 and 4
+
|We see, 'Enter the values'. I will enter as 6 and 4.
  
 
|-
 
|-
| 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'''.
  
 
|-
 
|-
| 04.48
+
| 04:48
|Now let us see how to execute the same program in C++  
+
|Now let us see how to execute the same program in C++.
  
 
|-
 
|-
| 04.53
+
| 04:53
 
|I have the code, lets go through it.  
 
|I have the code, lets go through it.  
  
 
|-
 
|-
| 04.57
+
| 04:57
|This is the second program function callbyreference .  
+
|This is the second program, function call by reference .  
  
 
|-
 
|-
| 05.01
+
| 05:01
|Note that our filename is callbyref.cpp
+
|Note that our file name is '''callbyref.cpp'''
  
 
|-
 
|-
| 05.06
+
| 05:06
|Let us go through the code  
+
|Let us go through the code.
  
 
|-
 
|-
| 05.08
+
| 05:08
|This is our header file as iostream  
+
|This is our header file as '''iostream '''.
  
 
|-
 
|-
| 05.12
+
| 05:12
|Here we are using the std namespace
+
|Here we are using the '''std namespace'''.
  
 
|-
 
|-
| 05.16
+
| 05:16
 
|The function declaration is same in C++.  
 
|The function declaration is same in C++.  
  
 
|-
 
|-
| 05.19
+
| 05:19
 
|In this we pass the arguments as ampersand x and ampersand y.  
 
|In this we pass the arguments as ampersand x and ampersand y.  
  
 
|-
 
|-
| 05.25
+
| 05:25
 
| This will give the memory address of x and y.  
 
| This will give the memory address of x and y.  
  
 
|-
 
|-
| 05.29
+
| 05:29
 
|Then we swap the values.  
 
|Then we swap the values.  
  
 
|-
 
|-
| 05.32
+
| 05:32
 
|Rest of the code is similar to our C code.  
 
|Rest of the code is similar to our C code.  
 
 
  
 
|-
 
|-
| 05.36
+
| 05:36
|The printf' statement is replaced by cout and the scanf statement is replaced by cin   
+
|The '''printf''' statement is replaced by '''cout''' and the '''scanf''' statement is replaced by '''cin'''.  
  
 
|-
 
|-
| 05.44
+
| 05:44
|Now let us execute the program. Come back to our terminal  
+
|Now let us execute the program. Come back to our terminal.
  
 
|-
 
|-
| 05.48
+
| 05:48
|To compile type; g++ space callbyref.cpp space hyphen o space ref1, press Enter
+
|To compile type, '''g++ space callbyref.cpp space hyphen o space ref1''', press Enter.
  
 
|-
 
|-
| 06.00
+
| 06:00
|Now Type dot slash ref1, Press Enter
+
|Now, type '''dot slash ref1'''. Press Enter.
  
 
|-
 
|-
| 06.05
+
| 06:05
 
|Here it is displayed as:
 
|Here it is displayed as:
  
 
|-
 
|-
| 06.07
+
| 06:07
 
|Enter values of a and b
 
|Enter values of a and b
  
 
|-
 
|-
| 06.10
+
| 06:10
|I will enter as 4 and 3
+
|I will enter as 4 and 3.
  
 
|-
 
|-
| 06.13
+
| 06:13
|The output is displayed  
+
|The output is displayed.
 
+
  
 
|-
 
|-
| 06.15
+
| 06:15
|Before swapping a and b 4 and 3
+
|'''Before swapping a and b 4 and 3'''
  
 
|-
 
|-
| 06.19
+
| 06:19
|After swapping a and b  3 and 4
+
|'''After swapping a and b  3 and 4'''
  
 
|-
 
|-
| 06.23
+
| 06:23
 
|This brings us to the end of this tutorial.  
 
|This brings us to the end of this tutorial.  
  
 
|-
 
|-
| 06.26
+
| 06:26
 
|Let us go back to our slides.  
 
|Let us go back to our slides.  
  
 
|-
 
|-
| 06.30
+
| 06:30
|Let us summarize, In this tutorial we learn't:  
+
|Let us summarize, In this tutorial we learnt:  
  
 
|-
 
|-
| 06.32
+
| 06:32
 
|Function call by value.  
 
|Function call by value.  
  
 
|-
 
|-
| 06.34
+
| 06:34
 
|And Function call by reference.  
 
|And Function call by reference.  
  
 
|-
 
|-
| 06.37
+
| 06:37
|As an assignment  
+
|As an assignment,write a similar program to calculate the cube of a number,
 
+
|-
+
| 06.38
+
|Write a similar program to calculate the cube of a number.
+
  
 
|-
 
|-
| 06.42
+
| 06:42
|Using call by value in C++.  
+
|using call by value in C++.  
  
 
|-
 
|-
| 06.46
+
| 06:46
|Watch the video available at the link shown below
+
|Watch the video available at the link shown below.
  
 
|-
 
|-
| 06.49
+
| 06:49
|It summarizes the Spoken Tutorial project  
+
|It summarizes the Spoken Tutorial project.
  
 
|-
 
|-
| 06.52
+
| 06:52
|If you do not have good bandwidth, you can download and watch it  
+
|If you do not have good bandwidth, you can download and watch it.
  
 
|-
 
|-
| 06.56
+
| 06:56
|The Spoken Tutorial Project Team  
+
|The Spoken Tutorial Project Team:
  
 
|-
 
|-
| 06.58
+
| 06:58
|Conducts workshops using spoken tutorials  
+
|Conducts workshops using spoken tutorials.
  
 
|-
 
|-
|07.01
+
|07:01
|Gives certificates to those who pass an online test  
+
|Gives certificates to those who pass an online test.
  
 
|-
 
|-
| 07.05
+
| 07:05
|For more details, please write to, contact@spoken-tutorial.org  
+
|For more details, please write to contact@spoken-tutorial.org.
  
 
|-
 
|-
| 07.11
+
| 07:11
|Spoken Tutorial Project is a part of the Talk to a Teacher project  
+
|Spoken Tutorial Project is a part of the Talk to a Teacher project.
  
 
|-
 
|-
| 07.15
+
| 07:15
|It is supported by the National Mission on Education through ICT, MHRD, Government of India
+
|It is supported by the National Mission on Education through ICT, MHRD, Government of India.
  
 
|-
 
|-
| 07.23
+
| 07:23
|More information on this Mission is available at the link shown below
+
|More information on this mission is available at the link shown below.
  
 
|-
 
|-
| 07.27
+
| 07:27
| This is Ashwini Patil from IIT Bombay signing off  
+
| This is Ashwini Patil from IIT Bombay, signing off.
  
 
|-
 
|-
| 07.31
+
| 07:31
 
|Thank You for joining.
 
|Thank You for joining.

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