Передача массива.
- Войдите на сайт для отправки комментариев
Вс, 13/12/2020 - 21:26
Добрый вечер. Имею массив на 10 байт byte buffer[10]. В одной библиотеке нужно передать через запятую индекс массива и данные ячейки. Как реализовать это? Заранее спасибо.
А что Вам мешает сделать именно то, что Вы описали?
Добрый вечер. Имею массив на 10 байт byte buffer[10]. В одной библиотеке нужно передать через запятую индекс массива и данные ячейки. Как реализовать это? Заранее спасибо.
Ничего не понял. Пример можно?
Я незнаю как разделить индекс и данные
Пример можно, что именно Вы хотите передавать?
(номер ячейки массива,данные ячейки массива)
Значит, примера не будет? Ну, тогда сами разбирайтесь.
Ну, не понимаю я о каких данных идёт речь, дважды просил написать пример в виде пары строк кода, что мне на коленях его вымаливать? Мне оно не надо, Вам, похоже, тоже.
Успехов!
Именно так, как Вы и написали: разделить запятой.
Если бы у меня был пример... я бы не спрашивал. Но кака я предположу надо 2 переменные создать индекс и дата.
AlexSmith, уже 8 постов мы толчем воду в ступе.
У меня к Вам нескромный вопрос: Вы Кернигана с Ритчи читали?
Если бы у меня был пример... я бы не спрашивал. Но кака я предположу надо 2 переменные создать индекс и дата.
Добрый вечер. Имею массив на 10 байт byte buffer[10]. В одной библиотеке нужно передать через запятую индекс массива и данные ячейки. Как реализовать это? Заранее спасибо.
byte buffer[10];
передаём в функцию , например, индекс (номер) элемента 5 и данные этого элемента массива:
foo (5, buffer[5]);
Номер то зачем, если данные передаются? Или зачем данные, если есть номер? Данные нельзя в подпрограмме достать по номеру?
ни кто так не делает, данные либо берут из требуемой ячейки, либо забирают весь массив тогда номер берется в счетчике.
не считайте строки выше как ответ, я просто попытался УГАДАТЬ чего вы хотите, совсем не факт, что угадал.
еще один человек пишет вам, что вопрос непонятен.
сам массив не имеет информации о себе, он он даст вам посылку типа: получите из пятой ячейки содержимое 86. Это вы просто берете из пятой ячейки.
Что просили то и показал)
Зачем мне весь масив.. больше слов понаписали....
Мне надо 2 значения вписать через запятую ( index 0 , val 255) и так далее..
Коллеги! Не спугните! Он еще долго нас забавлять может, судя по невообразимой тупости.
В чем тупость то? или я ошибся форумом? Невыобразимая тупость это странца постов со стебом... Нах вы вообще что то пишете тогда. Д... бл ть.
В чем тупость то?]
Вот в этом
Мне надо 2 значения вписать через запятую ( index 0 , val 255) и так далее..
Вам показать, где запятая на клавиатуре? Или нужно объяснить, что такое запятая в принципе?
В чем тупость то? или я ошибся форумом? Невыобразимая тупость это странца постов со стебом... Нах вы вообще что то пишете тогда. Д... бл ть.
Мы надеемся, что тот, кто создал тему, будет хотя бы читать ответы.
Но, похоже, напрасно.
По крайней мере, он не удосужился ответить ни на один вопрос, заданный ему в теме.
В чем тупость то?
В чем тупость то?
Вообще-то в №11 был пример, а ответов в этой ветке - намного больше. Но ТС, похоже, ни одного не понял.
Ну, вот, граф, сам же и спугнул. Так до пятницы не доживёт :-(
Зато ua6em исправил ситуацию.
Ничо вы не поняли, вообще ничего!!. Написал же ТС:
«В одной библиотеке нужно передать через запятую индекс массива и данные ячейки.»
А вы тут функции разные «рисуете», а причём тут функции если «передать нужно в библиотеке (может и «в библиотеку», но это не точно»)?! Правда, что за библиотека не известна. Но это уже третий вопрос.
может это библиотека Белинского. Берем ноут , песдуем в библиотеку и далее по нарастающей....
Я последний раз в библиотеку «по читательскому билету» ходил.
Пояснять лень, сами разберётесь.
Эй олл, как вам код? Достаточно говнянный? На меня эйчарихи обидятся? ~23 года живу, джуниором (или как там у них это называется) устроиться даже не пытался - они всё равно нос воротят, а я не перестану их всех сынками и воробушками считать, потому что они занимаются этим не так долго как я. А надо наверно линтить, рефакторить, и тогда зарплата 100к будет. Но я им лучше петарду под хвост засуну и подожгу.
Свич любит циферки вподряд. Если разные, то код сгенерённый от кода с ифами не отличается. А как понятнее это на любителя.
Да не. Не перепутал. Попробуйте цифирки вподряд и нет. Во втором случае время выполнения и размер кода больше.
А какое это имеет отношение к тому, "что любит свич"?
Юмора в Вас мало. Дидате свичу циферки вподряд, он быстрый и короткий код сгенерит. А если с прострелами или задом наперёд то код не будет отличаться от того, что написать через пачку ифоф. А уж как кому читать код удобней - через свич или через иф это личное. К тому же брейк в конце каждого ключа свига это гото в чистом замаскированном виде.
Дидате свичу циферки вподряд, он быстрый и короткий код сгенерит.
Т.е. это у нас теперь свич код генерит?
Или компилятор?
Или стандарт языка?
други, а не отклонились ли мы от темы, понятно, что существует 99 способов реализации, а профессор вон говорит, что сто )))
В зависимости от того как Вы расположите ключи в свиче компилятор создаст разный код. Если ключи не в подряд то не смысла использовать свич для оптимизации кода.
...то не смысла использовать свич для оптимизации кода.
А он как бы для этого и не предназначен.
А я вот читал, что канпилятор просто строит для свитча таблицу переходов и сам учитывает наиболее часто вызываемые ветки, располагая их в начале таблицы.
а как он может сделать, если итератор - переменная?
а как он может сделать, если итератор - переменная?
Дак ключи-то константы. :-)
Конечно, с наиболее часто вызываемыми грустец погорячился, компилятор знать не знает, хто будет вызываться чаще, но отсортировать ключи ему точно под силу. :-)
Дак ключи-то константы. :-)
да?
хм... вы о каком коде - из #28 ? Как компилятор угадает, какое значение c будет появлятся в программе чаще - 101 или 103?
Найду статейку - кину ссылку, эностранец какой-то заморочился на этот счёт. Я, правда, давно уже читал - мож и подзабыл койчо.
Когда анажды мне пришлось в ассемблере делать аналог switch, с ключами uint16_t, я делал 2 таблицы, одна, отсортированная, с ключами, в которой простым SCASW осуществлялся поиск нужного. Если нашелся, из другой таблицы брался адрес перехода на нужную ветку. Не нашолся - добро пожаловать в default. :-)
Смысл был в том, что если ключей много, то поиск нужного баще всего организовывать не простым SCASW, а бинарным поиском. В отсортированном списке это делать легче лехкого.
Ну да, так и пишут в энторнетах:
---------------
As a side note - Compilers, such as MSVC and GCC, have implemented an optimization on switches that tests the switch conditions using a binary search. So a switch statement with, say, 256 elements, will be optimized down to, at most, 8 compare operations.
---------------
Но, у меня, похоже, немного смешались люди и конина:
-----------
"For many years I wrote switch statements under the assumption that the case values would be evaluated from top to bottom. That is, if the compiler chose to implement the switch statement as an if-else-if chain, then it would first test the first case, then the second case and so on down to the default case at the bottom of my source code. Well it turns out that my assumption was completely wrong. The compiler is under no such obligation, and indeed will often evaluate the values bottom to top. Furthermore, the compiler will often evaluate the default value first."
-----------
https://embeddedgurus.com/stack-overflow/2010/04/efficient-c-tip-12-be-wary-of-switch-statements/