Вывести одномерный массив из случайных чисел (сделать через указатели) - C#
Формулировка задачи:
Добрый вечер всем. Необходимо вывести одномерный массив из случайных чисел, НО надо сделать через указатели (обязательно должны присутствовать unsafe и fixed). Читаю про указатели, но пока не понимаю. Вот эта задачка, но БЕЗ указателей. Возможно ли ее переделать как-нибудь?
int[] arr = new int[11]; int i = 0; Random rnd = new Random(); int rndnumber; for (i = 0; i < arr.Length; i++) { rndnumber = rnd.Next(-15, 15); arr[i] = rndnumber; Console.Write(arr[i] + " "); }
Решение задачи: «Вывести одномерный массив из случайных чисел (сделать через указатели)»
textual
Листинг программы
unsafe static void Main(string[] args) { Random r = new Random(); int *[] a = new int*[3]; // Заполняем из стека/"управляемой памяти" int b; a[0] = &b; b = 111; for (int i = 1; i < 3; i++ ) { // Выделяем память в неуправляемой куче a[i] = (int *)Marshal.AllocHGlobal(sizeof(int)); // Пишем туда число *a[i] = r.Next(10); } for (int i = 0; i < 3; i++ ) { Console.WriteLine(*a[i]); // Уничтожаем объекты if (i != 0) // нулевой элемент в стеке, будет ошибка Marshal.FreeHGlobal((IntPtr)a[i]); } Console.ReadLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д