子函式呼叫
子函式呼叫
- 子函式
定義:能被其他程式呼叫,在實現某種功能後能自動返回到呼叫程式去的程式。其最後一條指令一定是返回指令,故能保證重新返回到呼叫它的程式中去。也可呼叫其他子程式,甚至可自身呼叫(如遞迴)。 - 函式的呼叫形式
函式呼叫的一般格式為:(在main函式中)
<函式名> ([<實際引數列表>]); - 函式宣告
函式宣告的一般格式:
<返回型別><函式名> ([<形參型別1>][<形參1>],[<形參型別2>][<形參2>]…);
例:
#include<stdio.h>
int main()
{
void putin(int); //函式原型宣告
int number;
printf("請輸入數字:\n");
scanf("%d",&number);
putin(number); //呼叫子函式putin()
return 0;
}
void putin(int number)
{
printf("%c\n",'number'); //將輸入的數的ascll碼輸出
return ;
}
執行結果:
注:
個人自己的理解:
1.在函式宣告的時候,個人比較喜歡放到標頭檔案的下面。宣告時不是按照函式原型宣告(省略形參),而是詳細的都列出來,因為在用函式原型宣告的時候很容易出錯,倒不如直接全部宣告。
2.在函式呼叫的時候倒是沒有什麼不一樣的,基本上就是這個模板.
最後在放個你讓我看的例子;
法一:
#include<stdio.h>
//宣告子函式
void name(char student_name[20]);
void place(char student_hometown[20]);
int main()
{
char student_name[20];
char student_hometown[20]; //定義兩個字元變數
//呼叫子函式
name(student_name);
place(student_hometown);
//介面化實現
printf("*******************************\n");
printf("Welcome! %s \n",student_name);
printf("come from:%s!\n",student_hometown);
printf("*******************************\n");
return 0;
}
//name子函式
void name(char student_name[20])
{
printf("Enter your name:\n");
scanf("%s",student_name);
return ; //純屬個人習慣,沒有也是對的
}
//place子函式
void place(char student_hometown[20])
{
printf("Enter your hometown:\n");
scanf("%s",student_hometown);
return ;
}
法二:
#include<stdio.h>
//宣告子函式
/*
void name(char student_name[20]);
void place(char student_hometown[20]);
*/
//name子函式
void name(char student_name[20])
{
printf("Enter your name:\n");
scanf("%s",student_name);
return ; //純屬個人習慣,沒有也是對的
}
//place子函式
void place(char student_hometown[20])
{
printf("Enter your hometown:\n");
scanf("%s",student_hometown);
return ;
}
int main()
{
char student_name[20];
char student_hometown[20]; //定義兩個字元變數
//呼叫子函式
name(student_name);
place(student_hometown);
//介面化實現
printf("*******************************\n");
printf("Welcome! %s \n",student_name);
printf("come from:%s!\n",student_hometown);
printf("*******************************\n");
return 0;
}
注:其實法二,並不算是一種方法。只是把所有的子函式放在了main函式的上邊就不需要宣告瞭。
遇到的一些問題:
1.儘量不要在宣告的時候省略形參。
2.注意一下關於字串的處理,值得深入研究字串。
3.註釋打一下,既是練打字,還能讓自己更瞭解
相關文章
- zip-zip(子函式呼叫)函式
- 函式呼叫棧函式
- Qt 子執行緒呼叫connect/QMetaObject::invokeMethod 不呼叫槽函式問題QT執行緒Object函式
- 外部函式的呼叫函式
- gdb 如何呼叫函式?函式
- 函式指標呼叫函式指標
- C程式函式呼叫&系統呼叫C程式函式
- PostgreSQL函式裡呼叫函式(SETOF + RETURN QUERY)SQL函式
- JS中函式內套函式的呼叫JS函式
- 父類與子類之間靜態函式的呼叫以及函式引數的傳遞函式
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- httprunner yml 呼叫外部函式HTTP函式
- Javascript的函式呼叫與thisJavaScript函式
- C中呼叫Lua函式函式
- 幾種函式呼叫方式函式
- sequence 和索引函式呼叫索引函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- 核心函式 系統呼叫 系統命令 庫函式函式
- C語言函式呼叫棧C語言函式
- 函式呼叫棧的問題函式
- 函式棧幀(呼叫過程)函式
- 函式呼叫與空間分配函式
- 虛擬函式的呼叫原理函式
- 避免SQL中的函式呼叫SQL函式
- 避免對mod函式的呼叫函式
- 理解JavaScript的函式呼叫和thisJavaScript函式
- 函式呼叫規則總結函式
- Matlab中@與函式呼叫Matlab函式
- 使用rownum減少函式呼叫函式
- MySQL 儲存函式及呼叫MySql儲存函式
- vue跨頁面呼叫函式Vue函式
- 子父類中函式函式
- WINDOWS鉤子函式(轉)Windows函式
- VC:滑鼠鉤子函式函式
- vue在一個函式中呼叫另外一個函式Vue函式
- .Net7 CLR的呼叫函式和編譯函式函式編譯
- [C++]顯示呼叫建構函式和解構函式C++函式
- C++箴言:避免解構函式呼叫虛擬函式C++箴言函式