Difference between revisions of "C-and-C++/C4/Function-Call/English-timed"
From Script | Spoken-Tutorial
PoojaMoolya (Talk | contribs) |
Sandhya.np14 (Talk | contribs) |
||
(5 intermediate revisions by 3 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. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 26: | Line 21: | ||
|- | |- | ||
| 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 ''' | + | | Let us start with the introduction to '''function call by value'''. |
|- | |- | ||
Line 42: | Line 37: | ||
|- | |- | ||
| 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. |
|- | |- | ||
|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. |
|- | |- | ||
Line 58: | Line 53: | ||
|- | |- | ||
|00:58 | |00:58 | ||
− | |Let us see a program on function call by value. | + | |Let us see a program on 'function call by value'. |
|- | |- | ||
Line 66: | Line 61: | ||
|- | |- | ||
| 01:08 | | 01:08 | ||
− | | Please note our | + | | 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 | + | |Here we give the value of '''n''' as '''8''', 'n' is an integer variable. |
|- | |- | ||
Line 98: | Line 93: | ||
|- | |- | ||
| 01:45 | | 01:45 | ||
− | |And print the value of | + | |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. |
|- | |- | ||
Line 110: | Line 105: | ||
|- | |- | ||
|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'. |
|- | |- | ||
Line 142: | Line 137: | ||
|- | |- | ||
| 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. |
|- | |- | ||
Line 154: | Line 149: | ||
|- | |- | ||
| 02:54 | | 02:54 | ||
− | |Note that our | + | |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'''. |
|- | |- | ||
Line 170: | Line 165: | ||
|- | |- | ||
| 03:10 | | 03:10 | ||
− | |Value of a will be stored in value of b and vice | + | |Value of 'a' will be stored in value of 'b' and vice versa. |
|- | |- | ||
Line 182: | Line 177: | ||
|- | |- | ||
| 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. |
|- | |- | ||
Line 210: | Line 205: | ||
|- | |- | ||
| 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'''. |
|- | |- | ||
Line 226: | Line 221: | ||
|- | |- | ||
| 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, | + | |We see, 'Enter the values'. I will enter as 6 and 4. |
|- | |- | ||
| 04:40 | | 04:40 | ||
− | |The output is displayed as | + | |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++. |
|- | |- | ||
Line 266: | Line 261: | ||
|- | |- | ||
| 04:57 | | 04:57 | ||
− | |This is the second program function | + | |This is the second program, function call by reference . |
|- | |- | ||
| 05:01 | | 05:01 | ||
− | |Note that our | + | |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'''. |
|- | |- | ||
Line 306: | Line 301: | ||
|- | |- | ||
| 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 | + | |To compile type, '''g++ space callbyref.cpp space hyphen o space ref1''', press Enter. |
|- | |- | ||
| 06:00 | | 06:00 | ||
− | |Now | + | |Now, type '''dot slash ref1'''. Press Enter. |
|- | |- | ||
Line 330: | Line 325: | ||
|- | |- | ||
| 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. |
|- | |- | ||
Line 354: | Line 349: | ||
|- | |- | ||
| 06:30 | | 06:30 | ||
− | |Let us summarize, In this tutorial we | + | |Let us summarize, In this tutorial we learnt: |
|- | |- | ||
Line 366: | Line 361: | ||
|- | |- | ||
| 06:37 | | 06:37 | ||
− | |As an assignment | + | |As an assignment,write a similar program to calculate the cube of a number, |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| 06:42 | | 06:42 | ||
− | | | + | |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 | + | |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 | + | |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