無題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

無題

#1

投稿記事 by » 16年前

はじめまして餅です。
早速ですが質問があります。

グローバル変数などを用意してプログラムを書いているのですが
少し多くなってきましたので関数化しようかと考えています。

しかし普通に関数をつくったらローカル変数になってしまうかと思います。

どうすればよいのでしょうか?
int a = 0;  //  グローバル変数

int main(void){
  return 0;
}
これを
void function(void){
   int a = 0;  //  グローバル変数
}

int main(void){

  function();
  return 0;
}

グローバル変数を関数に

#2

投稿記事 by » 16年前

タイトルを書き忘れていました。
申し訳ありません。

たかぎ

Re:グローバル変数を関数に

#3

投稿記事 by たかぎ » 16年前

これでどうでしょう?
int *function(void){
   static int a = 0;  //  グローバル変数
   return &a;
}
C言語の場合はあまり利点を感じないかもしれませんが、C++だと大きなメリットが出てきます。

Re:グローバル変数を関数に

#4

投稿記事 by » 16年前

>>たかぎさん
それだと複数の変数をもてなくないでしょうか・・・?
できれば複数のグローバル変数をまとめたいのです。

たかぎ

Re:グローバル変数を関数に

#5

投稿記事 by たかぎ » 16年前

> それだと複数の変数をもてなくないでしょうか・・・?
> できれば複数のグローバル変数をまとめたいのです。

構造体にすればよいだけです。

non

Re:グローバル変数を関数に

#6

投稿記事 by non » 16年前

>グローバル変数などを用意してプログラムを書いているのですが
>少し多くなってきましたので関数化しようかと考えています。

グローバル変数が多くなったから、関数化するメリットって何ですか?

閉鎖

“C言語何でも質問掲示板” へ戻る