C言語のメイン関数の前後のカスタム関数の違い

 

C言語では、最初に関数を定義してから呼び出す必要があり、変数を最初に定義してから使用するのと同じように、呼び出し元の関数は呼び出された関数の後に配置されます。呼び出し元の関数がカスタム関数の前に配置されている場合は、関数呼び出しの前に関数プロトタイプ宣言を追加する必要があります宣言されていない場合、呼び出される関数は、コンパイル時にデフォルトでint型になります

関数宣言の日付は、主に関数のタイプとパラメーターのステータスを説明するためのものであり、プログラムが関数の呼び出しが正しいかどうかを判断し、プログラムのコンパイル時に対応するコンパイル処理を実行できるようにします。 。

 

正しいコードの例:

カスタム関数はメイン関数の前にあります。

#include <stdio.h>


void Swap(int *X, int *Y)
{
	/*交换数值*/
	int tmp;
	tmp = *X; *X = *Y; *Y = tmp;
}


int main()
{
	int X = 10, Y = 20;

	Swap(&X, &Y);
		
	printf("X=%d, Y=%d\n", X, Y);

	return 0;
}

カスタム関数はメイン関数の後にあります。

#include <stdio.h>


int main()
{
	int X = 10, Y = 20;

	void Swap(); /*主调函数放在自定义函数的前面,需要在函数调用前,加上函数原型声明*/
	Swap(&X, &Y);
		
	printf("X=%d, Y=%d\n", X, Y);

	return 0;
}


void Swap(int *X, int *Y)
{
	/*交换数值*/
	int tmp;
	tmp = *X; *X = *Y; *Y = tmp;
}

 

おすすめ

転載: blog.csdn.net/Dust_Evc/article/details/113782410