Function Grammar

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 5

Function grammar <data type> is abbreviated as <d t>

 Calling:
1. function_name();
2. function_name (data1, data2, …, datan);
3. <d t> variable = function_name(); // or “cout << function_name();”
4. <d t> variable = function_name(data1, data2, …, datan);
// or “cout << function_name(data1, data2, …, datan);”

 Declaration:
1. void function_name (void); // same as “void function_name();”
2. void function_name (<d t> para1, <d t> para2, …, <d t> paran);
3. <d t> function_name();
4. <d t> function_name(<d t> para1, <d t> para2, …, <d t> paran);
 Definitions:
1. void function_name () {…}
2. void function_name (<d t> para1, <d t> para2, …, <d t> paran) {…}
3. <d t> function_name() { …; return d_t_variable;}
4. <d t> function_name(<d t> para1, <d t> para2, …, <d t> paran)
{ …; return d_t_variable;}
Three types of function callings
 Call by value
 Call by pointer
 Call by reference (address)
Call by value cannot transfer data between parameters.
The other two callings are able to transfer data between parameters.
Call by Pointer
Declaration:
<d t> function_name (<d t>* , <d t>* ); // int swap(int *, int*);
Definition:
<d t> function_name(<d t>* a, <d t>* b)
{ <d t> var = *a + *b; return var; }
Calling in main():
<d t> function_name(&a, &b);
Call by Reference
Declaration:
void function_name(<d t>&, <d t>&); // void swap(int&, int&);
Definition:
void function_name(<d t>&a, <d t>&b)
{ a = b*b; b = a*2; }
Calling in main():
function_name(a, b);

You might also like