カテゴリ: C++ 更新日: 2026/01/02

C++の関数定義と呼び出しを完全ガイド!初心者でもわかる基本の仕組み

関数定義と呼び出しの仕組み
関数定義と呼び出しの仕組み

先生と生徒の会話形式で理解しよう

生徒

「C++のプログラムって、同じ処理を何回も書かないといけないんですか?」

先生

「そんなことはありません。関数を使えば、処理をまとめて何度も使えます。」

生徒

「関数って何ですか?難しそうです…」

先生

「大丈夫です。身近な例で、仕組みから順番に説明します。」

1. 関数とは何かを超やさしく説明

1. 関数とは何かを超やさしく説明
1. 関数とは何かを超やさしく説明

C++における関数とは、よく使う処理をひとまとめにしたものです。 現実世界で言うと、自動販売機のボタンのような存在です。 ボタンを押すと、毎回同じ流れで飲み物が出てきます。 プログラムでも、関数を呼び出すと、決められた処理が実行されます。

プログラミング初心者にとって、関数は少し難しく感じるかもしれません。 しかし、関数を理解すると、コードが短くなり、読みやすくなります。 C++の基本構文として、とても重要な考え方です。

2. 関数定義の基本構造

2. 関数定義の基本構造
2. 関数定義の基本構造

関数を使うには、まず関数を作る必要があります。 これを関数定義と呼びます。 関数定義では「何という名前の関数か」「何をするのか」を決めます。


#include <iostream>

void sayHello() {
    std::cout << "こんにちは" << std::endl;
}

この例では、sayHelloという関数を定義しています。 voidは「戻り値がない」という意味です。 戻り値とは、関数が処理の結果として返す値のことです。

3. 関数の呼び出し方

3. 関数の呼び出し方
3. 関数の呼び出し方

関数は、定義しただけでは動きません。 使いたい場所で呼び出す必要があります。 呼び出しとは「この関数を実行して」とお願いすることです。


#include <iostream>

void sayHello() {
    std::cout << "こんにちは" << std::endl;
}

int main() {
    sayHello();
    return 0;
}

こんにちは

main関数の中でsayHelloを書いています。 これが関数呼び出しです。 プログラムは上から順番に進み、呼び出された関数の中身を実行します。

4. 引数を使った関数の仕組み

4. 引数を使った関数の仕組み
4. 引数を使った関数の仕組み

関数には、外から情報を渡すことができます。 この情報を引数と呼びます。 引数は「材料」のようなもので、関数の中で使われます。


#include <iostream>

void showNumber(int number) {
    std::cout << number << std::endl;
}

int main() {
    showNumber(5);
    return 0;
}

5

showNumber関数は、数字を受け取って表示する関数です。 intは整数型を表し、numberは引数の名前です。 関数を呼び出すときに値を渡すことで、動きを変えられます。

5. 戻り値のある関数

5. 戻り値のある関数
5. 戻り値のある関数

関数は処理の結果を呼び出し元に返すこともできます。 この返ってくる値を戻り値と呼びます。 計算結果を返す関数は、電卓のようなイメージです。


#include <iostream>

int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(3, 4);
    std::cout << result << std::endl;
    return 0;
}

7

returnは、値を返すための命令です。 戻り値がある関数では、voidではなく型を書きます。 この例では、計算結果を整数として返しています。

6. 関数を使うメリット

6. 関数を使うメリット
6. 関数を使うメリット

関数を使うと、同じ処理を何度も書かずに済みます。 修正が必要になった場合も、関数の中だけ直せばよくなります。 これは、プログラムを整理整頓する効果があります。

C++の基本構文として、関数定義と呼び出しの仕組みを理解することは、 プログラミングの土台を作るうえでとても大切です。 最初は難しく感じても、何度も見て書くことで自然と身につきます。

カテゴリの一覧へ
新着記事
New1
C++
C++の変数のスコープと有効範囲を完全解説!初心者でもわかる基本と考え方
New2
C++
C++とは?歴史と特徴を初心者向けに解説!Rustとの違いとモダン言語比較
New3
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
New4
Rust
Rust開発環境をLinuxで構築する方法とおすすめ設定を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.2
Java&Spring記事人気No2
C言語
C言語の関数定義と呼び出しを完全ガイド!初心者でも分かる基本の書き方
No.3
Java&Spring記事人気No3
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.4
Java&Spring記事人気No4
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作
No.5
Java&Spring記事人気No5
C言語
Makefile入門:C言語プロジェクトを自動ビルドしよう!初心者でも分かる仕組みと使い方
No.6
Java&Spring記事人気No6
C言語
C言語の開発環境をWindowsに構築する方法【Visual Studio編】
No.7
Java&Spring記事人気No7
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.8
Java&Spring記事人気No8
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド