ただ単に参照って言いたかっただけで実際は何もわかっていなかった人で草
オブジェクトの変数は簡単に言うとデータが入ってるメモリの先頭アドレス
配列の各要素は先頭アドレスからのオフセットでアクセスする(正確には違うけど)
その変数に別データの先頭アドレス入れちゃったらどうなるよ?ってことだよ

あとは、自分で試したのがオブジェクトじゃなくて数値使ってるのも理解できてない証拠
そこはb=cじゃなくてb=0だろ