関数の記憶クラス



■関数の記憶クラスの宣言
static データ型 関数名(・・・)
{
  ・・・
}
他のファイルから読み出すことは出来ない。
extern データ型 関数名(・・・)
{
  ・・・
}
指定した場合はその関数が宣言したファイル以外で定義されている。また、指定しない場合はその関数が宣言したファイルで定義していることを表す。

※関数の前に何も書かないとexternを指定したことになります。
※また、通常のデータ型変数もstatic/externを指定で出来ます。

<ユーザー関数のサンプル-条件により加算/減算/除算/剰余を行う(複数ファイル編)-ファイルA>
#include <stdio.h>

//プロタクト宣言&外部関数読込み宣言(ファイルB)
extern void _SreenView(int a ,int b , int c );

void main(void)
{
 int a=10,b=5,c;
 printf("a=10\nb=5\na ? b\naとbの間に演算子を入れてください。\n");
 c=getchar();
 _SreenView(a,b,c);
 getchar();
}

<ユーザー関数のサンプル-条件により加算/減算/除算/剰余を行う(複数ファイル編)-ファイルB>
#include <stdio.h>
void _SreenView(int a ,int b , int c )
{
 switch(c)
 {
  case '+': printf("a+b=%d\n",a+b); break;
  case '-': printf("a-b=%d\n",a-b); break;
  case '*': printf("a*b=%d\n",a*b); break;
  case '/': printf("a/b=%d\n",a/b); break;
  case '%': printf("a%%b=%d\n",a%b); break;
  default : printf("不正な文字です。\n");
 }
}




Cの基礎のページへ



ホーム PV ランキング