Aşağıdaki imza ile C işlevi vardır:İşaretçiyi yapılara gösteren bir diziye nasıl işaretlerim?
int my_function(int n, struct player **players)
players
struct player
nesnelere işaretçiler bir dizi için bir işaretçidir. n
dizideki işaretçi sayısıdır. İşlev diziyi veya yapıların içeriğini değiştirmez ve geri döndükten sonra herhangi bir gösterici tutmaz. ,
[DllImport("mylibary.dll")]
static extern int my_function(int n,
[In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)]
player_in []players);
Ancak bu yapılar dizisine değil, yapılarına işaretçiler bir dizi için bir işaretçi için mareşalinden bir işaretçi olarak veri:
Aşağıdaki çalıştı.