[KOCW韓国産業技術大学朴正民教授]Cプログラミング9強
Part 9関数とは?
9.1関数は
n.関数
関数のタイプ:
関数を使用する利点
9.2各種形式の関数
11形態
ex)
int sum (int x, int y)
10形態
ex)
int input (void) //
01形態
ex)
void print (int x)
00形状
ex)
void output (void)
9.3関数の適用方法
1つ目の方法:関数の定義を呼び出す=>関数
定義
ex)
#include <stdio.h>
int max(int a, int b) // Function definition
{
if(a>b)
return a;
else
return b;
}
int main(void) // Function call
{
int i, j;
int k;
printf("Enter two numbers :");
scanf("%d %d", &i, &j);
k = max(i, j);
printf("The large number of %d or %d is %d \n", i, j, k);
return 0;
}
2つ目の方法:関数の宣言=>関数の呼び出し=>関数の定義
ex)
#include <stdio.h>
double divide(double x, double y); // Function declaration
double input(void); // Function declaration
void output(double x); // Function declaration
void information(void); // Function declaration
int main(void)
{
double num1, num2, result;
information(); // Function call
printf("Enter the first real number: ");
num1 = input(); // Function call
printf("Enter the second real number: ");
num2 = input(); // Function call
result = divide(num1, num2);
output(result);
return 0;
}
double divide(double x, double y) // Function definition
{
double val;
val = x / y;
return val;
}
double input(void) // Function definition
{
double val;
scanf("%lf", &val);
return val;
}
void output(double x) // Function definition
{
printf("Divide results: %lf \n", x);
return;
}
void information(void)
{
printf("----- start program ----- \n");
return;
}
9.4変数のタイプと範囲
ゾーン変数
変数
グローバル変数
せいてきへんすう
括弧内でグローバル変数としてのみ使用する静的変数を「静的領域変数」と呼ぶ.
cf.ファイルでのみグローバル変数として使用され、外部参照は許可されない「静的グローバル変数」も存在する.
ex)
while(1)
{
static int num=0; // 초기화는 최초 한 번만 실행
num=num+1;
printf("%d \n", num);
}
上記のコードがある場合numは一度だけ初期化するので、0、1、2、3、4...許容値がいぶへんすう
レジスタ変数
プロセスメモリ構造
実行中のプログラムをプロセスと呼びます.
このプロシージャで使用されるメモリ容量は、次のように大きくなります.
これらの領域をストレージクラスと呼ぶ.
ストレージカテゴリの役割
コード領域:実行コード、関数を格納するドメイン
名前の通り、これは実行可能なコードを含むコード領域です.
スタック領域:関数呼び出しのパラメータ、領域変数
グローバル変数とは異なり、プログラムの実行時にメモリが消えた変数は分離され、スタックに入ります.
≪データ領域|Data Area|oem_src≫:グローバル変数と静的変数
プログラムの実行から終了までのデータがゾーン変数とは別にデータゾーンに入る
臀部領域:ダイナミックメモリを割り当てる変数
9.5再帰関数
授業:朴正民、《Cプログラム設計》、韓国工業技術大学、9強
教材:朴正民、『熱血で話すC言語の本色名授業によるC言語の奇跡』、フリーク(2011)、p 227-266.
Reference
この問題について([KOCW韓国産業技術大学朴正民教授]Cプログラミング9強), 我々は、より多くの情報をここで見つけました https://velog.io/@qmasem/KOCW-한국산업기술대학교-박정민-교수님-C-프로그래밍-9강テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol