Я пытаюсь создать процедуру, которая будет принимать массив и возвращать количество использованных элементов (почему это не BIF ??). Я изо всех сил пытаюсь найти способ передать в мою процедуру массив неизвестного размера.
Что-то вроде...
P count B
D count PI 3 0
D array *
D size 10 0
D elems 3 0
*
D ct S 3 0
/free
// find the first blank or zero element and return
/end-free
P count E
Очевидно, я новичок в этом, поэтому у меня есть пара вопросов:
- Есть ли способ передать элементы size и max в качестве параметров (или, может быть, способ передать своего рода пакет заголовка с подробной информацией о данных)?
- Есть ли способ определить, к какому типу относятся данные? (чтобы я знал, искать ли * НУЛИ или * ПРОБЕЛЫ)
- Мне не хватает другого, лучшего подхода к этой проблеме?
Я знаю, что могу сохранить отдельную переменную счетчика, которая увеличивается каждый раз, когда я устанавливаю элемент в массиве, но мне бы очень хотелось найти лучшее решение ... спасибо за чтение.