Страница 2 из 2

Добавлено: Ср июл 22, 2009 18:03:13
ARV
тут небольшая путаница с тем, что делает компилятор, и с тем, что хотите делать вы. все эти книжные порождения на самом деле большей частью теория, на практике в МК не так много памяти, чтобы строить кучу промежуточных массивов - просто компилятор следит за обращениями к элементам массива и в нужный момент подствалет нужный указатель. так что виртуально - да, массив указателей на массивы, реально - просто последовательность чисел.
для массива a[N][M] обращение к a[1][2] будет равносильно, как если бы был массив a[N*M] и обращение шло к a[1*N+M] (тут, возможно, N и M надо поменять местами - я запамятовал порядок, в ктором следуют элементы массивов по строкам или столбцам).
зная это, наверное, несложно работать и с указателями...

Код: Выделить всё

long a[5][5];
long *p = a[1]; // указатель на массив "первая строка"
long tmp = p[2]; - второй элемент первой строки...
по-моему, так...

Добавлено: Ср июл 22, 2009 20:18:45
BCluster
ARV, реально получается именно так, как вы говорите, причем не только на контроллерах, однако и то представление что я написал имеет место быть )

А вот кто мне может подсказать, есть ли какие-либо средства отладки, которыми я смогу смотреть значения переменных в процессе работы?)))

Добавлено: Ср июл 22, 2009 20:38:40
adrenocrome
BCluster писал(а): А вот кто мне может подсказать, есть ли какие-либо средства отладки, которыми я смогу смотреть значения переменных в процессе работы?)))
AVR Studio

Добавлено: Ср июл 22, 2009 22:11:29
BCluster
А дока есть какая то хорошая по ней? А то у меня там получается только регистры да память смотреть, и только в ассемблерном коде, а хотелось бы по сишному бегать

Добавлено: Чт июл 23, 2009 00:24:11
BCluster
Разобрался, спасибо)
Вроде как-то шевелится, завтра продолжим)

Добавлено: Чт июл 23, 2009 18:27:28
__Alexander
Вотс, не поленился, взял да прочел, может кому пригодится, главное по теме.

int *mass[3][4]; /* массив указателей на int размером 3x4 */
int (* mass) [3][4]; /* указатель на массив int размером 3x4 */

Это из главы приоритетов.


-------