- ベストアンサー
C++ ポインタ初級
C++で、自作関数内でメインの数字をインクリメントします。 自作関数はVOIV型でやりたいんです。 #include <stdio.h> void plus( int * ); main( ){ int a = 1; int *&p = &a; plus( p ); printf( "%d" , *p ); } void plus( int *i ){ ( *i )++; } int型の変数を2つ宣言したけど、1つでやる方法はないですか? #include <stdio.h> void plus( int * ); main( ){ int a = 1; plus( &a ); // aのアドレスを渡して、 printf( "%d" , a ); } void plus( int *i ){ // アドレスの値を ( i )++; // インクリメントしたつもりだけど } 結果は1のままでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー

noname#30727
回答No.1
その他の回答 (1)
- hitomura
- ベストアンサー率48% (325/664)
回答No.2
補足
ありがとうございます。できました。 参照渡し、ポインタ渡し、という言葉は聞いたことがあったけど、 どちらも別関数の中で値自身を変更できるんですね。 参照渡し と ポインタ渡し はどういう時に使い分けるんですか? 参照渡し と ポインタ渡し の引数とかの型の違い以外の違いが 分かりませんでした。