検索
ホームページよくある問題C言語の関数宣言の見方

C言語の関数宣言の見方

Mar 06, 2019 pm 02:31 PM
関数宣言

C 言語の関数宣言の形式は、関数定義内の関数本体を削除し、セミコロンを追加した形式になっており、関数が未定義になる前にプログラムが関数を使用してプログラムが動作しなくなるのを防ぐためです。エラーを報告します。

C言語の関数宣言の見方

C 言語コードは上から下に実行されます。原則として、関数定義は関数呼び出しの前に指定する必要があり、そうでない場合はエラーが報告されます。ただし、実際の開発では関数定義前に使用することが多く、その際には事前に宣言しておく必要があります。次に記事では、一定の参考効果のある関数宣言に関する知識を詳しく紹介しますので、皆様のお役に立てれば幸いです。

[おすすめコース: C言語チュートリアル]

関数宣言

だから-call 宣言は、この関数を使用することをコンパイラに伝えるためのものです。その定義が今見つからなくても問題ありませんが、定義は後で追加されるため、エラーを報告しないでください。
関数宣言の形式は非常に単純で、以下に示すように、関数定義内の関数本体を削除してセミコロン; を追加するのと同じです:

返回值类型  函数名( 类型 形参, 类型 形参… );

仮パラメータを記述しないこともできます。データ型のみ:

返回值类型  函数名( 类型, 类型…);

関数宣言では、関数名、戻り値の型、パラメーターのリスト (パラメーターの型)、および関数のプロトタイプ (関数プロトタイプ) と呼ばれるその他の関数に関連する情報が指定されます。
関数プロトタイプは、コンパイラが関数の存在とその既存の形式を認識できるように、関数に関連する情報をコンパイラに伝えるものです。関数が一時的に定義されていなくても、コンパイラはその関数の使用方法を知っています。
関数宣言を使用すると、関数定義は、他のファイル、スタティック リンク ライブラリ、ダイナミック リンク ライブラリなどのどこにでも出現できます。

例:

#include <stdio.h>
// 函数声明
long factorial(int n); 
//也可以写作 long factorial(int);
long sum(long n); //也可以写作 long sum(long);
int main(){
printf("1!+2!+...+9!+10! = %ld\n", sum(10));return 0;
}
//求阶乘
long factorial(int n)
{
int i;
long result=1;
for(i=1; i<=n; i++){
result *= i;
}
return result;
}
// 求累加的和
long sum(long n)
{int i;
long result = 0;
for(i=1; i<=n; i++)
{
//嵌套调用
result += factorial(i);
}
return result;
}

実行結果は次のとおりです: 1! 2! ... 9! 10! = 4037913

printf を使用すると、 ( )、puts()、scanf()、getchar() およびその他の関数は、ヘッダー ファイル stdio.h を導入する必要があります。多くの初心者は、stdio.h に関数定義 (つまり、関数本体) が含まれていると考えています。がヘッダー ファイルである場合、プログラムは実行できます。実際にはそうではありません。ヘッダー ファイルには関数定義ではなく関数宣言が含まれています。関数定義はすべてシステム ライブラリ内にあります。システム ライブラリなしでヘッダー ファイルのみがある場合は、リンク中にエラーが報告されます。そしてプログラムはまったく実行されなくなります。

要約: 以上がこの記事の全内容です。皆様のお役に立てれば幸いです。

以上がC言語の関数宣言の見方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター