自機も自弾もデータだろ。
データに知ってるも糞もあるかよ。
データはデータ。そこに転がってるだけの単なるメモリブロック以上の解釈は必要ないだろ。
データに命を吹き込むのが制御構造、つまりプログラムなわけで、
プログラム中の自機と自弾を制御している箇所にそれぞれの在り処が分かればそれでよい。

自弾に自機のポインタを突っ込むことはあるだろうが、
それはそれらを処理するプログラム(関数)から、どの弾がどの機体のものか判別できるように、
便宜上突っ込んだってだけで、単に「そう実装した」っていう以上の意味は無い。手抜き実装。
別に別途、機体と弾の紐付けを管理するテーブルを用意したとしても、それはそれでかまわないわけで。
プログラムが自弾と自機のことを知ることが出来ればなんでも良い。

つまり、自機と自弾を知っているべき者はプログラムで、
自弾も自機も各々を知っている必要は無い。