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

From Script | Spoken-Tutorial
Jump to: navigation, search
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.     
  
 
|-
 
|-
| 00.14
+
| 00:14
 
|call by reference.  
 
|call by reference.  
  
 
|-
 
|-
| 00.16
+
| 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 '''functions 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 filename 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 '''./val '''(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 filename 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 and Ampersand 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 callbyreference .  
  
 
|-
 
|-
| 05.01
+
| 05:01
 
|Note that our filename is '''callbyref.cpp'''
 
|Note that our filename 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 learn't:  
  
 
|-
 
|-
| 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  
  
 
|-
 
|-
| 06.38
+
| 06:38
 
|Write a similar program to calculate the cube of a number.  
 
|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.

Revision as of 15:49, 23 June 2014

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.
00:14 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 functions 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 filename 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 filename 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 and Ampersand 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 callbyreference .
05:01 Note that our filename 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 learn't:
06:32 Function call by value.
06:34 And Function call by reference.
06:37 As an assignment
06:38 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