C言語の関数にはどんな種類がある?ライブラリ関数とユーザー定義関数の違いを解説
C言語における関数は、その定義方法によって大きく以下の2種類に分類されます。
- 事前定義関数(ライブラリ関数)
- ユーザー定義関数
事前定義関数(ライブラリ関数)とは
システムが提供するライブラリ内で、すでに定義済みの関数です。
プログラマーはライブラリ内の既存コードを再利用できるため、エラーの少ない効率的なコードを書くことができます。
利用する際は、あらかじめ関数の構文(プロトタイプ)を把握しておく必要があります。
たとえば、sqrt() 関数は math.h ライブラリに含まれており、y = sqrt(x) の形式で使用します。ここで x は正の数である必要があります。
x の値が 25 であれば、y = sqrt(25) となり、y の結果は 5 になります。
同じように、printf() は stdio.h ライブラリに、clrscr() は conio.h ライブラリに含まれています。
サンプルプログラム
#include<stdio.h>
#include<conio.h>
#include<math.h>
main (){
int x, y;
clrscr ();
printf ("enter a positive number");
scanf ("%d", &x);
y = sqrt(x);
printf ("squareroot = %d", y);
getch();
}
実行結果
Enter a positive number 25 Squareroot = 5
ユーザー定義関数とは
プログラマーや利用者自身が定義しなければならない関数です。
コードの記述からテストまで、すべて自分で行い、動作を確認してから使う必要があります。
構文はユーザーが自由に決められるため、ヘッダーファイルをインクルードする必要はありません。
代表的な例としては、main()、swap()、sum() などが挙げられます。
サンプルプログラム
#include<stdio.h>
#include<conio.h>
main (){
int sum (int, int);
int a, b, c;
printf ("enter 2 numbers");
scanf ("%d %d", &a, &b);
c = sum (a, b);
printf ("sum = %d", c);
getch();
}
int sum (int a, int b){
int c;
c = a + b;
return c;
}
実行結果
Enter 2 numbers 10 20 Sum = 30
まとめ:2種類の関数の使い分けポイント
| 種類 | 特徴 | ヘッダーファイル |
|---|---|---|
| 事前定義関数 | コンパイラ付属のライブラリで提供され、すぐに利用可能 | 必要(math.h など) |
| ユーザー定義関数 | 自分で処理内容を設計・記述する | 不要 |
よく使う標準的な処理はライブラリ関数を活用し、独自の処理が必要な場合はユーザー定義関数として実装する、というのが基本的な使い分けの考え方です。両方を適切に組み合わせることで、可読性が高く保守しやすいプログラムを作成できます。
-
Windowsのセーフモードとは?3種類のセーフモードの違いと使い分け方を解説
この記事では、Windowsのセーフモードとは何か、そしてセーフモードにはどのような種類があるのか(通常のセーフモード、ネットワーク付きセーフモード、コマンドプロンプト付きセーフモード)について、それぞれの意味と違いをわかりやすく解説します。 多くのWindowsユーザーにとって、セーフモードは馴染みのある機能でしょう。Windowsの不具合を診断したりトラブルシューティングを行ったりする際に、セーフモードでの起動が求められることがよくあります。ここでは、セーフモードの意味と、Windowsが提供しているセーフモードの種類について詳しく見ていきましょう。 Windows 11/10におけるセー
-
Windowsのセーフモードとは?3種類のセーフモードの違いと使い方を徹底解説
本記事では、Windowsのセーフモードとは何か、そしてセーフモードにはどのような種類があるのか——「セーフモード」「ネットワークありのセーフモード」「コマンドプロンプトありのセーフモード」——について、それぞれの意味と違いをわかりやすく解説します。 多くのWindowsユーザーにとって、セーフモードは馴染みのある機能でしょう。Windowsの不具合を診断したりトラブルシューティングを行ったりする際に利用することが多いからです。これまでの記事では、セーフモードでWindowsを起動する方法や、セーフモードへの直接再起動の手順をご紹介してきました。今回は改めて、セーフモードの仕組みと、Wind