(02.04.2012 18:59)packa Wrote: а - указатель на массив(не уверен насчет нужности квадратных скобок)
сравни варианты записи:
int *a - указатель на начало массива (в данном примере). можно работать как с массивом
int a[] - массив (= указатель), по сути то же, что и выше, но я не знаю, можно ли его использовать как указатель
int *a[] - указатель на переменную, которая содержит указатель на начало массива (или адрес массива). для статических массивов бесполезен, т.к. им нельзя присвоить другую область памяти, а разыменовывать указатель все равно придется.
(02.04.2012 18:59)packa Wrote: Кстати не подскажите зачем сначала объявлять функцию а потом когда вызывать, по новой инициализировать указатель и переменную?
не понял вопроса. что значит "по новой инициализировать" параметры функции?
(02.04.2012 19:34)Efrit Wrote: Да, объявление функции должно повторять её "заголовок" (в большинстве случаев).
я бы сказал не "в большинстве случаев", а "по большей части". в объявлении функции можно указать только типы переменных, а имена им дать уже в определении.
(02.04.2012 19:34)Efrit Wrote: затем два int-параметра размерности двумерного массива.
речь об одномерном массиве
(02.04.2012 19:34)Efrit Wrote: Игродел почему-то любит создавать всё в куче
я люблю использовать подходящие вещи. если мне нужен массив неизвестной или переменной длины (или возможность управлять указателями на массивы), то я выделяю память. если определенной длины - объявляю массив.
(02.04.2012 20:23)packa Wrote: Да кстати, там можно легко передать массив через значения
массив по значению нельзя передать. это указатель. элементы массива при изменении в функции будут меняться везде.