私は支配的なオブジェクト指向プログラミング言語から来て、Cの機能を理解しようとしていますので、これを行う小さなプログラムを作ることにしました。C - 参考として渡す?
私が抱えている問題は、通常DIの使用で対処されるものです。グローバルを使用せずに算術演算を実行できるように、値の参照を別の関数に渡すにはどうすればよいですか?出力
#include <stdio.h>
#include <stdlib.h>
int doStuff(int v)
{
v = v + 10; // main->value = 10
}
int otherStuff(int v)
{
v = v - 10; // main->value = 0
}
int main()
{
int value = 0;
int stop = 0;
do
{
printf(" %i should be 0 \n", value);
doStuff(value); // "value" = 10
printf(" %i should be 10 \n", value);
otherStuff(value); // "value" = 0
printf(" %i should be 0 \n", value);
exit(0);
if(value >= 10)
{
stop = 1;
}
} while(!stop);
}
:
0 should be 0
0 should be 10
0 should be 0
これはやっているようです。 &実際にどう違うのか聞いてもらえますか? –
@JaheeKajeあなたは基本的に '&value'を実行することによって値へのポインタを渡します、'& 'はポインタの値を与えます。関数内でポインタを間接参照することで、実際の値を変更することができます。 – tgdn