これらはもちろん C ポインターですが、オブジェクトへの参照として理解することを強くお勧めします。
オブジェクトを作成するか、どこかから受け取って、そのオブジェクトへの参照を変数名に格納します。
オブジェクトへの参照を何らかの関数またはメソッドに渡すと、このメソッドは、渡したオブジェクトそのものにアクセスできます。必ずしもデータのコピーを操作する必要はありません。オブジェクトのプロパティに変更を加えると (poperty 宣言などによって許可されている限り)、参照が参照しているオブジェクトそのものが変更されます。
もちろん、それが適切であると思われる場合はいつでも、それをコピーして、そのコピーで作業を続けることができます。その場合、元のオブジェクトは変更されません。
実際に C スタイルのポインターを使用する必要がある状況に陥った場合は、一歩下がって C を理解することをお勧めします。私は、Objecive-C のバックグラウンドから来たときに C スタイルのポインターを理解するのは賢明ではないと思います。頭を空っぽにして C をゼロから学び、その後、Objective-C プロジェクトでこれらの基本的なデータ型を扱わなければならない非常にまれな状況で、新しいノウハウを活用してください。