|
分類:[C/C++]
開発環境:cint-5.16.19-win32
使用言語:C
C言語で、グローバル変数をなくして関数化したいです。
下のように考えましたが、read と write で変数を
共有化する方法が思いつきません。
何とかグローバル変数を使わずに、できないものでしょうか。
enum
global_variable
{
VAR1 = 0,
VAR2
};
int global_read(int name)
{
static int var1 = 1;
static int var2 = 2;
switch(name)
{
case VAR1:return var1;
case VAR2:return var2;
default: return 0;
}
}
void global_write(int name, int value)
{
static int var1 = 1;
static int var2 = 2;
switch(name)
{
case VAR1:var1 = value;break;
case VAR2:var2 = value;break;
default: return;
}
}
int main(void)
{
int a = 0;
int b = 0;
a = global_read(VAR1);
b = global_read(VAR2);
global_write(VAR1, 3);
global_write(VAR2, 4);
return 0;
}
|