子函式呼叫
子函式呼叫
- 子函式
定義:能被其他程式呼叫,在實現某種功能後能自動返回到呼叫程式去的程式。其最後一條指令一定是返回指令,故能保證重新返回到呼叫它的程式中去。也可呼叫其他子程式,甚至可自身呼叫(如遞迴)。 - 函式的呼叫形式
函式呼叫的一般格式為:(在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函式
- 普通函式與函式模板呼叫規則函式
- 普通函式與函式模板呼叫規則2函式
- httprunner yml 呼叫外部函式HTTP函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- 核心函式 系統呼叫 系統命令 庫函式函式
- 函式呼叫與空間分配函式
- 函式呼叫棧的問題函式
- 函式棧幀(呼叫過程)函式
- 虛擬函式的呼叫原理函式
- vue跨頁面呼叫函式Vue函式
- MySQL 儲存函式及呼叫MySql儲存函式
- C語言函式呼叫棧C語言函式
- vue在一個函式中呼叫另外一個函式Vue函式
- .Net7 CLR的呼叫函式和編譯函式函式編譯
- 子父類中函式函式
- 什麼是IIFE(立即呼叫函式表示式)?函式
- 第 8 節:函式-函式巢狀呼叫與返回值函式巢狀
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- [20190401]關於semtimedop函式呼叫.txt函式
- makefile--函式定義與呼叫函式
- 建構函式之間的呼叫函式
- [20180531]函式呼叫與遞迴.txt函式遞迴
- 函式的呼叫方式和引數函式
- [20231123]函式與bash shell呼叫.txt函式
- js 使用 DotNetObjectReference 呼叫 c# 函式JSObjectC#函式
- JS的五種函式呼叫方式JS函式
- MySQL:MySQL層比較函式呼叫MySql函式
- Python入門之函式呼叫(二)Python函式
- 運用inlinehook主動呼叫函式inlineHook函式
- C++中函式呼叫的用法C++函式
- 詳細講解函式呼叫原理函式