Передача в функцию указателя на указатель - C#

Узнай цену своей работы

Формулировка задачи:

Неуправляемая функция типа FUNC(int ** r); Делаю так
fixed (int* ptr = arr)
            {
                FUNC((int **)ptr);
                и так
                FUNC(ptr);           
            }
 
[DllImport("dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto, SetLastError = true)]
        static unsafe extern void FUNC(int * r);
[DllImport("dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto, SetLastError = true)]
        static unsafe extern void FUNC(int ** r);
Работают оба варианта, какой использовать? Спасибо.

Решение задачи: «Передача в функцию указателя на указатель»

textual
Листинг программы
 static unsafe void myf(ref Int32[] arr)
        {
            fixed (int* ptr = arr)
            {
                FUNC(ptr);
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5