Цитата(prottoss @ Dec 15 2005, 16:57)

Цитата(*SERG @ Dec 15 2005, 20:27)

Да это то в курсах......................., как определить что именно последний элемент массива передан?
нули собаки тож есть, можно конечно переменной которая ни где не встречается, но это немеренно в принцепе "ненужных" переменных
Сравнивать последние элементы с какой то константой не реально, массивов штук 200, да и элементы массива повторяются..................например 5ый=10ому
Что делать?
Я думаю может функция какая есть, в принцепе с этой целью вопрос и задал............
Так то выслушаю все варианты
Размер массивов то ж разный
Ну а чем Вам счетчик длины массива то не нравится? По моему самое простое и стандартное решение. И, главное, ресурсов много не занимает - всего одна переменная, содержимое которой уменьшается (или увеличивается) с передачей каждого байта массива. Как только она стала равной нулю (или константе - длине массива), все массив передан. Она же, обычно, является и указателем на передаваемый элемент массива, то есть индексом. За чем усложнять то, что очевидно?
Задача прояснилась конкретней, есть 150-200 массивов, записаны байты, длинна изменяется от 3 до 7, массивы заданны так:
flash unsigned char hex2D[3]={0b01111111,0b00001000,0b00001000};//?
flash unsigned char hex2E[4]={0b00111110,0b01000001,0b01000001,0b01000001};//?
flash unsigned char hex2F[5]={0b01111111,0b00000001,0b00000001,0b00000001,0b01111111};//?
т.е. количество элементов массива "известны" (записанны в объявленни массива в []), помоему ваш вариант подходит. Но не соображу как это зделать на функциях СИ, как определять какое количество элементов в данном массиве, какой функцией воспользоваться???
Хотелось бы чтонибудь типа такого:
x= функция(hex2D[3]);
где х- количество элементов массива, т.е в данном случае x=3;
Если можно то примерчик приведите плиз