私は最後に仕事をした人が書いたCコードをいくつか維持しています。参照渡しに関する状況が発生しました。ここで私が働いているかの短縮、不自然な例です:私はこの二つを考えるCでの参照渡しの微妙さ
*a = b;
OR
a = &b;
:SetToTen機能で
static int b;
void SetToTen(int *a){
b = 10;
/* >>>>>>> Need to set a equal to b on this line <<<<<<<< */
return;
}
int main{
int a = 0;
SetToTen(&a);
/* Now a should be equal to 10*/
.
.
.
return 0;
}
、私はどちらかでし書き込み機能的には同等です(どちらも10であることになります)。しかし私の質問は、互いに関連した卑劣な微妙な点があるかどうかです。具体的には、もし私が= & bを使用すると、私が将来bを変えると、aも変わるでしょうか?そして、私が* a = bを使うと、これは当てはまりませんか?
思考/ Musings /コメントは高く評価されます。
+1誰も私の後で次のように繰り返します:「Cで参照渡しはありません。 –
先生、StackOverflowについてあなたの好きなことを見ました。私はちょうどあなたの意見を聞いてあなたと質問を共有したいので、その質問は多くのdownvotesに値する。 https://stackoverflow.com/questions/34826036/explain-pointer-referencing。私はここに新しいですが、今この質問が下落されたので私は何の質問もすることはできませんが、私は何の理由も見ません。確認してください。私はあなたのポストを愛し、あなたが私を助けてくれると思ったので、私はあなたに尋ねました。 –
正直言って、質問はあまりよく書かれておらず、「私はCの初心者です」と言った後に自分で答えたので、このサイトの評判ポイントを得るために投稿したように見えます。私はunderscore_dのコメントをエコーします。「このサイトには多くの質問と回答があり、エイリアシングやポインタの変換などについてのより広いインターネットがあります。あなたの場合、私はあなたが明確かつ簡潔な質問または答えを投稿することを学ぶことに取り組む必要があると思います。評判のために質問を投稿できない場合は、司会者に連絡して修正できるかどうかを確認してください。 –