C言語6
n.関数
入力時出力値のブラックボックス
関数の使用目的
ひょうじゅんかんすう
c言語で提供される基本関数は標準関数と呼ばれ、
printf
はそのうちの1つである.関数をライブラリ化して使いやすいようにします.ヘッダファイルには多くの標準関数が定義されています.カスタム関数
ユーザーが必要とする機能を関数化して使用できます.
きほんけいじょう
자료형 함수이름(인수목록)
{
함수의 내용
}
void
#include <stdio.h>
int Add(int a, int b);
void main()
{
int a, b, hap;
printf("두 개의 정수를 입력하세요 : ");
scanf("%d%d", &a, &b);
hap = Add(a, b);
printf("두 수의 합 : %d\n", hap);
return;
}
int Add(int i, int j)
{
return i + j;
}
一般に、ユーザ定義の関数がmain
の関数の後にあるとエラーになるが、Add
の関数の最初の行int Add(int a, int b)
をセミコロンと一緒に書くと(関数の原型)、main
の関数の後にあってもコンピュータで実行できる.ex)関数のプロトタイプ(.h)とソースコード(.dll)を個別に管理する
main
で宣言されたa, b
値がAdd
関数で宣言されたi, j
に移行すると、メモリ値はコピーされます(call by value
).void型関数
結果値の関数は返されません.
#include <stdio.h>
int Add(int a, int b);
void print_Start()
{
printf("-----programming start-----\n");
printf("두 개의 정수를 입력하시오 : ");
}
void print_Hap(int result)
{
printf("두 수의 합은 %d 입니다.\n", result);
printf("-----programming end-----\n");
}
void main()
{
int a, b, hap;
print_Start();
scanf("%d%d", &a, &b);
hap = Add(a, b);
print_Hap(hap);
return;
}
int Add(int i, int j)
{
return i + j;
}
-----programming start-----
두 개의 정수를 입력하시오 : 3 5
두 수의 합은 8 입니다.
-----programming end-----
2つの数値を入力して最高値と最低値を出力する例#include <stdio.h>
void max_min(int i, int j);
int main()
{
int a, b;
printf("두 개의 정수를 입력하세요 : ");
scanf("%d%d", &a, &b);
max_min(a, b);
}
void max_min(int i, int j)
{
if(i > j)
{
printf("최댓값 : %d 최솟값 : %d\n", i, j);
}
else if(j > i)
{
printf("최댓값 : %d 최솟값 : %d\n", j, i);
}
else
{
printf("두 수의 값이 같습니다.\n");
}
}
変数の範囲
ゾーン変数
同名であっても、他の地域(
{}
)に属する関数であれば、独立した別の変数である.ゾーン({}
)が終了すると、スタックメモリから消えます.スタックメモリによって管理され、FILO
の性質を有する.グローバル変数
プログラムが起動すると、グローバル変数はメモリに格納され、プログラムが終了すると、グローバル変数はメモリから消えます.グローバル変数はスタックメモリではなくデータメモリによって管理されます.
Reference
この問題について(C言語6), 我々は、より多くの情報をここで見つけました https://velog.io/@gimmicks_/c6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol