Массив хоть структур, хоть элементарных типов, все равно содержит сущности одинаковых размеров. И обращаться к ним можно по индексу.
Но, похоже, речь идет о байтовом буфере, в котором подряд идут записи разных структур, как, например, строки в файле или теги в файле riff-формата. В этом случае, не зная длины записи заранее, кроме как побайтовым перебором, ничего никуда передать не выйдет. А если, предположим, первый байт содержит длину записи, то уже ясно, что надо использовать указатель и эту длину для передачи куда надо и последующего "наращивания" указателя...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
у меня в кодевижене работало так (ноута под рукой нет, чтоб точно синтаксис глянуть, но смысл ясен): #define func(x) func(x, length(x)) и в функцию сразу летит и указатель на начало и размер массива... но имя массива в этом случае надо указывать явно (переданные по ссылке не прокатят) т.ч. это только сахарок, не более...
ещё делал так: массив с указателями начал подмассивов, а первый элемент подмассива - его длина (про это тут уже написали), также можно и в массив с указателем длину разместить в следующей ячейке, (получается пара адрес-размер) тут уж как удобнее
_________________ Для тех, кто не учил магию мир полон физики Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Добрый день. Написал программку управления регистром через LPT-порт, и все вроде получилось. Не могу понять почему возник сегфолт, хотя "пять минуть назад все работало", просто строчку в pattern[] поменял. В общем, на ровном месте. Гуголь и дикпи.. дипсик ничего внятного сказать не могут. Выяснено что сегфолт возникает на вызове sh_out(x).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения