| 値渡し参照渡し
今回はD言語の値渡しと参照渡しをもう一度確認して見ましょう。ところで
"値渡し、参照渡し"、ってなにかごぞんじですか? んー、すこし説明
することにしましょう。渡しの知人の中には、C言語の
ポインターがわからなくなるのはこのあたりに原因の方が
けっこういるのです。 
void main(char [][]args)
{
    int kyoro = 0;
    int hiro  = kyoro;
    hiro +=  1; 
    printf("%d",kyoro);                 
}
この結果は 0
となります。これはkyoroからhiroへ値渡しされた例です。
では、次に参照渡しの例をあげてみます。
void main(char [][]args)
{
    	int kyoro = 0;
	int* hiro = &kyoro;
	*hiro = 1;	
	printf("%d",kyoro);                
}
この結果は1を返します。これは
kyoroからhiroへ参照渡しを行っているため、hiroを書きかえることで
kyoroの値もかわってしまいます。さて、値渡しと参照渡しの違いはわかりましたか。 ****************************** C++やC言語では配列以外はクラスも含めてすべて値渡しでした、参照渡しをするために ポインターをつかっいたんですね。それではD言語では どのようになっているか、気になりませんか。 さてさて、調べてみることにしましょう |