カテゴリ: 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
Rust
Rustの文字列を極める!&str(文字列スライス)の基本概念とString型との違い
New3
C++
C++のキャスト演算子を完全解説!dynamic_cast・static_cast・const_cast・reinterpret_castを初心者向けに説明
New4
C++
C++開発のIDE選びを完全ガイド!初心者でもわかるCLion・Eclipse CDT・Qt Creator比較
人気記事
No.1
Java&Spring記事人気No1
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.2
Java&Spring記事人気No2
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.3
Java&Spring記事人気No3
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.4
Java&Spring記事人気No4
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.5
Java&Spring記事人気No5
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.6
Java&Spring記事人気No6
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.7
Java&Spring記事人気No7
C++
C++リンカとコンパイラのオプション設定を完全ガイド!初心者にもわかる開発環境の基礎
No.8
Java&Spring記事人気No8
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作