Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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 など)
ユーザー定義関数自分で処理内容を設計・記述する不要

よく使う標準的な処理はライブラリ関数を活用し、独自の処理が必要な場合はユーザー定義関数として実装する、というのが基本的な使い分けの考え方です。両方を適切に組み合わせることで、可読性が高く保守しやすいプログラムを作成できます。

  1. Windowsのセーフモードとは?3種類のセーフモードの違いと使い分け方を解説

    この記事では、Windowsのセーフモードとは何か、そしてセーフモードにはどのような種類があるのか(通常のセーフモード、ネットワーク付きセーフモード、コマンドプロンプト付きセーフモード)について、それぞれの意味と違いをわかりやすく解説します。 多くのWindowsユーザーにとって、セーフモードは馴染みのある機能でしょう。Windowsの不具合を診断したりトラブルシューティングを行ったりする際に、セーフモードでの起動が求められることがよくあります。ここでは、セーフモードの意味と、Windowsが提供しているセーフモードの種類について詳しく見ていきましょう。 Windows 11/10におけるセー

  2. Windowsのセーフモードとは?3種類のセーフモードの違いと使い方を徹底解説

    本記事では、Windowsのセーフモードとは何か、そしてセーフモードにはどのような種類があるのか——「セーフモード」「ネットワークありのセーフモード」「コマンドプロンプトありのセーフモード」——について、それぞれの意味と違いをわかりやすく解説します。 多くのWindowsユーザーにとって、セーフモードは馴染みのある機能でしょう。Windowsの不具合を診断したりトラブルシューティングを行ったりする際に利用することが多いからです。これまでの記事では、セーフモードでWindowsを起動する方法や、セーフモードへの直接再起動の手順をご紹介してきました。今回は改めて、セーフモードの仕組みと、Wind