Difference between revisions of "C-and-C++/C4/Function-Call/English-timed"
From Script | Spoken-Tutorial
PoojaMoolya (Talk | contribs) |
|||
Line 1: | Line 1: | ||
− | {| border=1 | + | {| border = 1 |
− | + | ||
− | + | |'''Time''' | |
+ | |||
+ | |'''Narration''' | ||
+ | |||
+ | |||
|- | |- | ||
− | | 00 | + | | 00.01 |
− | | | + | |Welcome to the spoken tutorial on Function calls in C and C++ |
|- | |- | ||
− | | 00 | + | | 00.07 |
− | | | + | |In this tutorial we will learn about type of function calls namely |
|- | |- | ||
− | | 00 | + | | 00.13 |
− | |call by | + | |call by value. |
|- | |- | ||
− | | 00 | + | | 00.14 |
− | | | + | |call by reference. |
|- | |- | ||
− | | 00 | + | | 00.16 |
− | | | + | |We will do this through an example. |
|- | |- | ||
− | |00 | + | | 00.19 |
− | | | + | |To record this tutorial, I am using Ubuntu Operating system version 11.10 |
|- | |- | ||
− | | 00 | + | | 00.26 |
− | | | + | |gcc and g++ Compiler version 4.6.1 |
|- | |- | ||
− | | 00 | + | | 00.31 |
− | | | + | | Let us start with the introduction to functions call by value |
|- | |- | ||
− | | 00 | + | | 00.35 |
− | | | + | |It is a method of passing arguments to the function. |
|- | |- | ||
− | | 00 | + | | 00.40 |
− | | | + | | When we pass a variable by value it makes a copy of the variable. |
|- | |- | ||
− | | 00 | + | | 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 | + | | 01.02 |
− | | | + | |I have already typed the program on the editor. I will just open it. |
|- | |- | ||
− | | 01 | + | | 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 | + | | 01.19 |
− | | | + | |This is our header file |
|- | |- | ||
− | | | + | | 01.21 |
− | | | + | |Here we have function cube having an argument as int x. |
|- | |- | ||
− | | 01 | + | | 01.27 |
− | | | + | |In this function we calculate the cube of x and return the value of x. |
|- | |- | ||
− | | 01 | + | | 01.33 |
− | | | + | |This is our main function. |
|- | |- | ||
− | | 01 | + | |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 | + | |02.12 |
− | |Now type | + | |Now type dot slash val.Press Enter |
|- | |- | ||
− | | 02 | + | |02.16 |
− | |The output is displayed as | + | |The output is displayed as Cube of 8 is 512. |
|- | |- | ||
− | | 02 | + | |02.23 |
− | | Now we will see function call by reference. | + | |Now we will see function call by reference. |
|- | |- | ||
− | | 02 | + | |02.26 |
− | |Let us go back to our slides. | + | |Let us go back to our slides. |
|- | |- | ||
− | | | + | | 02.29 |
− | | | + | |It is another method of passing arguments to the function. |
|- | |- | ||
− | | 02 | + | | 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 | + | | 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 | + | |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 |
− | | | + | | 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 | + | | 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 | + | | 03.21 |
− | | | + | |Here we have declared an integer variable t. |
+ | |- | ||
+ | | 03.25 | ||
+ | |First value of a is stored in t. | ||
− | |||
− | |||
− | |||
|- | |- | ||
− | | 03 | + | | 03.28 |
− | | | + | |Then value of b is stored in a. |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | 03 | + | | 03.32 |
− | | | + | | And then value of t is stored in b |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | 03 | + | | 03.37 |
− | | | + | | Like this the values are exchanged. |
|- | |- | ||
− | | 03 | + | | 03.40 |
− | + | |This is our main function. | |
− | + | ||
− | + | ||
− | | | + | |
|- | |- | ||
− | | 03 | + | | 03.42 |
− | | Here we have declared two integer variables as | + | |Here we have declared two integer variables as i and j . |
+ | |||
|- | |- | ||
− | | | + | | 03.49 |
− | | Then we take the values of | + | |Then we take the values of i and j as user inputs. |
|- | |- | ||
− | | 03 | + | | 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. | + | |And then we print the values after swapping. |
|- | |- | ||
− | | | + | | 04.10 |
− | |And | + | |And this is our return statement. |
|- | |- | ||
− | | 04 | + | | 04.13 |
− | |Now | + | | Now let us execute the program |
|- | |- | ||
− | | 04 | + | | 04.16 |
− | |Switch back to our terminal | + | | Switch back to our terminal |
|- | |- | ||
− | | 04 | + | | 04.19 |
− | | To compile | + | |To compile type gcc space callbyref dot c space hyphen o space ref. Press Enter |
|- | |- | ||
− | | 04 | + | | 04.29 |
− | | | + | |Now type dot slash ref. Press Enter |
|- | |- | ||
− | | 04 | + | | 04.33 |
− | | | + | |We see, enter the values I will enter as 6 and 4 |
− | + | ||
− | + | ||
|- | |- | ||
− | | 04 | + | | 04.40 |
− | | | + | |The output is displayed as,before swapping 6 and 4 |
|- | |- | ||
− | | 04 | + | | 04.44 |
− | | | + | |After swapping 4 and 6 |
|- | |- | ||
− | | 04 | + | | 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 | + | | 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 | |
− | + | ||
− | + | ||
− | | This is | + | |
− | + | ||
− | + | ||
|- | |- | ||
− | | 05 | + | | 05.12 |
− | |Here | + | |Here we are using the std namespace |
|- | |- | ||
− | | 05 | + | | 05.16 |
− | | | + | |The function declaration is same in C++. |
|- | |- | ||
− | | 05 | + | | 05.19 |
− | |In this we pass the arguments as | + | |In this we pass the arguments as ampersand x and ampersand y. |
|- | |- | ||
− | | 05 | + | | 05.25 |
− | |This will give the memory address of | + | | This will give the memory address of x and y. |
|- | |- | ||
− | | 05 | + | | 05.29 |
− | |Then we swap the values. | + | |Then we swap the values. |
|- | |- | ||
− | | 05 | + | | 05.32 |
− | | | + | |Rest of the code is similar to our C code. |
+ | |||
+ | |||
|- | |- | ||
− | | 05 | + | | 05.36 |
− | |The | + | |The printf' statement is replaced by cout and the scanf statement is replaced by cin |
|- | |- | ||
− | | | + | | 05.44 |
− | | Now | + | |Now let us execute the program. Come back to our terminal |
|- | |- | ||
− | | | + | | 05.48 |
− | | To compile type; | + | |To compile type; g++ space callbyref.cpp space hyphen o space ref1, press Enter |
|- | |- | ||
− | | 06 | + | | 06.00 |
− | | Now Type | + | |Now Type dot slash ref1, Press Enter |
|- | |- | ||
− | | 06 | + | | 06.05 |
− | | | + | |Here it is displayed as: |
|- | |- | ||
− | | 06 | + | | 06.07 |
− | | | + | |Enter values of a and b |
|- | |- | ||
− | | 06 | + | | 06.10 |
− | |I will enter as | + | |I will enter as 4 and 3 |
|- | |- | ||
− | | 06 | + | | 06.13 |
− | |The output is displayed | + | |The output is displayed |
+ | |||
|- | |- | ||
− | | 06 | + | | 06.15 |
− | | | + | |Before swapping a and b 4 and 3 |
|- | |- | ||
− | | 06 | + | | 06.19 |
− | | | + | |After swapping a and b 3 and 4 |
|- | |- | ||
− | | | + | | 06.23 |
− | | | + | |This brings us to the end of this tutorial. |
|- | |- | ||
− | | 06 | + | | 06.26 |
− | |Let us go back to our slides. | + | |Let us go back to our slides. |
|- | |- | ||
− | | | + | | 06.30 |
− | | Let us summarize, In this tutorial we learn't: | + | |Let us summarize, In this tutorial we learn't: |
|- | |- | ||
− | | 06 | + | | 06.32 |
− | |Function call by value. | + | |Function call by value. |
|- | |- | ||
− | | 06 | + | | 06.34 |
− | |And Function call by reference. | + | |And Function call by reference. |
|- | |- | ||
− | | 06 | + | | 06.37 |
− | | As an assignment | + | |As an assignment |
|- | |- | ||
− | | 06 | + | | 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 | + | | 06.42 |
− | |Using call by value in C++. | + | |Using call by value in C++. |
|- | |- | ||
− | | 06 | + | | 06.46 |
− | | Watch the video available at the link shown below | + | |Watch the video available at the link shown below |
|- | |- | ||
− | | 06 | + | | 06.49 |
− | |It | + | |It summarizes the Spoken Tutorial project |
|- | |- | ||
− | | 06 | + | | 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 |
− | | | + | |The Spoken Tutorial Project Team |
|- | |- | ||
− | | 06 | + | | 06.58 |
|Conducts workshops using spoken tutorials | |Conducts workshops using spoken tutorials | ||
|- | |- | ||
− | | 07 | + | |07.01 |
|Gives certificates to those who pass an online test | |Gives certificates to those who pass an online test | ||
|- | |- | ||
− | | 07 | + | | 07.05 |
− | |For more details, please write to contact@spoken-tutorial.org | + | |For more details, please write to, contact@spoken-tutorial.org |
|- | |- | ||
− | | 07 | + | | 07.11 |
− | | | + | |Spoken Tutorial Project is a part of the Talk to a Teacher project |
|- | |- | ||
− | | 07 | + | | 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 | + | | 07.23 |
− | |More information on this Mission is available at | + | |More information on this Mission is available at the link shown below |
|- | |- | ||
− | | 07 | + | | 07.27 |
− | | | + | | This is Ashwini Patil from IIT Bombay signing off |
− | Thank You for joining | + | |- |
− | + | | 07.31 | |
− | + | |Thank You for joining. |
Revision as of 16:29, 22 November 2013
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 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