標題の通りで,C言語に参照渡しは存在しない.
Google翻訳に参照を翻訳してもらった.
参照とは
参照とはリファレンスのこと.逆に言えばリファレンスしか存在しない言語はポインタが存在しないと言うこと.(違う?)
c言語での値渡し
実行した結果が以下の通りだ.
関数に変数のアドレス(第1引数)を渡して,関数内部で値を書き換えている.そのため,渡した関数で表示が書き換わっているのが確認できる.
この渡し方を「値渡しのポインタ渡し」という.
第2引数は「値渡しの値渡し」という(誰も言っていない).
ポインタ渡し
今回のメインである参照渡しが存在しないことの証明プログラムを載せる.
そもそも参照渡しは何かと言えば,上記のmainプログラム結果に100が表示されることを指す.
c++の参照渡し(本物の参照渡し^^)
しかしc言語のプログラムのように関数の呼び出し先で,変数にアドレスを格納する.
どういうこと!?
もしかして,私はc++を知らない!?
(技術力不足で派遣先をクビになったぐらいだからな・・・)
結論
c++を勉強し直します.
あれから20160403(追記)
コメントにて @SaitoAtsushi さんから参照についてのアドバイスをいただいた.
「参照とは別名である」
もろ,答えですね.
変数の中身を別名変数に渡した場合問題なくmain関数で表示される.
さらに,別名変数を上書きすべく努力したが無駄だった.
ありとあらゆる格納方法を試したが,すべてエラーになってしまった.
やはり,1度付いた名前はどうすることも出来ないと言うことだと理解した.
これを機に,変数名にキラキラネームを付けないようにしようと思いました.
コメントを付けていただきありがとうございました.
上記のソースコード
※さらに残念ながらGitの使い方も理解していなかった.これは後日勉強し直す.
参考URL
http://qiita.com/bugdasi/items/7856931f4cacf2c5b743
※またこのページを参考にした.
http://www.gologo13.com/2013/03/23/how-to-compile-c-plus-plus-with-clang/