|
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
|
|
Вопрос про тип данных BYTE28.07.2011, 11:40. Показов 12393. Ответов 31
Метки нет (Все метки)
Всем привет!
Возможно тупой вопрос, но впервый раз сталкиваюсь с этим. BYTE *bf; bf[1258] = 78*10/56; Как такое вообще возможно?
1
|
|
| 28.07.2011, 11:40 | |
|
Ответы с готовыми решениями:
31
Нельзя преобразовать тип function(a: byte;b: byte): byte к integer (Списки)
Какой функцией можно преобразовать тип byte в тип string и наоборот? |
|
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
|
|
| 28.07.2011, 12:20 | |
|
никак.
Добавлено через 2 минуты объявили указатель. память не выделили. чтото записали кудато.
2
|
|
|
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
|
|
| 28.07.2011, 12:28 [ТС] | |
|
Так вот в том-то и дело объявлял же я не массив а указатель на область памяти, так вот почему он разрешает обращение к себе как массиву?
1
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
|||
| 28.07.2011, 12:44 | |||
|
память не выделялась Несанкционированый доступ пожалуйста причем винда скорее всего выкинет исключение , а какой-нибудь ДОС может смело поменять в памяти значение к чему это приведет одному Биллу известно
2
|
|||
| 28.07.2011, 12:47 | |
|
Не по теме: Ну а зачем тогда тему создал!!
2
|
|
|
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
|
|
| 28.07.2011, 12:48 [ТС] | |
|
Во вложении пример работы с bass.dll
Он пишет с микрофона звук и вывод гистограмму. Так вот там в фунции void CALLBACK UpdateSpectrum(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2) при описании точек для гистограммы ясно дается именно такой пример: specbuf[y*SPECWIDTH+x]=abs(y-SPECHEIGHT/2)*2+1; specbuf имеет тип BYTE т.е. BYTE *specbuf;
1
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
||||||||
| 28.07.2011, 12:49 | ||||||||
2
|
||||||||
|
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
|
|
| 28.07.2011, 12:51 | |
|
Ну ты объявил указатель и при этом не указал на что он собственно указывает. Тип указатель компилятору известен поэтому он может попытаться обратится к элементу массива данного типа.
Вообще указатель - это просто адрес чего-то в памяти и до момента выполнения неизвесно что там будет (кроме типа конечно) - один элемент или массив таких элементов.
2
|
|
|
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
|
||
| 28.07.2011, 12:54 [ТС] | ||
|
Имея тот пример выше как вообще можно запомнить что куда там записалось? Ведь по факту заполняются ячейки этого массива хаотично практически
1
|
||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
||||||||
| 28.07.2011, 13:00 | ||||||||
|
скорее всего данные с микрофона идут побайтого а заполнить нужно допустим какую либо структуру(в памяти то все равно байты) например так
в приведенном мной примере 4 байта запишут a следующие 4 байта запишут b следующие 4 байта запишут c следующие 10 байта запишут d
1
|
||||||||
|
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
|
||||||
| 28.07.2011, 13:01 [ТС] | ||||||
|
Ты хочешь сказать что он заполняет структуру напрямую обращаясь к ее ячейкам памяти? Но нельзя же заранее знать в какой ячейке памяти находиться структура...хотя смотря сам код я могу это предположить потому что в последствии для вывода изображения данный specbuf не используется...хм..и что же он тогда заполняет...и как он узнает что именно ТУДА?
Добавлено через 49 секунд Вот пример, если структура и есть то она системная в коде никак не фигурирует открыто
0
|
||||||
|
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
|
||
| 28.07.2011, 13:02 | ||
|
BYTE *specbuf = new BYTE[2048]; или ему не присвоен адрес уже существующего массива?
1
|
||
|
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
|
|
| 28.07.2011, 13:04 [ТС] | |
|
Ну потому что у меня есть пример и все инициализации данной переменной я проследил.
Добавлено через 58 секунд Максимум что там есть это фукнция memset(specbuf,0,SPECWIDTH*SPECHEIGHT); но она используется только если кликнуть по форме мышой и говориться что это очистка дисплея
0
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
|
| 28.07.2011, 13:07 | |
|
1
|
|
|
141 / 84 / 24
Регистрация: 21.10.2009
Сообщений: 429
|
|
| 28.07.2011, 13:09 [ТС] | |
|
Я имел ввиду имея только объявление указателя без присвоения
Добавлено через 28 секунд кажется я начинаю понимать, вся соль кажись в функции memset
0
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
||||
| 28.07.2011, 13:10 | ||||
|
1
|
||||
|
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
|
|
| 28.07.2011, 13:10 | |
|
1
|
|
|
|
|
| 28.07.2011, 13:10 | |
|
ООооххх....когда ты создаешь указатель, он всегда на что то указывает!! всегда!!
По этому, ты создал указатель, который указывает на определенный блок памяти(а память у нас и так как большой массив), и ты туда что то записываешь, или что то делаешь!!! по этому у тебя что то получается, и тут уже могут быть утечки памяти!!
1
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
||
| 28.07.2011, 13:11 | ||
|
пройди в отладчике и посмотри где присваивается адресс
1
|
||
| 28.07.2011, 13:11 | |
|
Помогаю со студенческими работами здесь
20
Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR? Вопрос про базы данных Вопрос про базу данных... Вопрос про хранение данных Про СКД - Составной тип данных в регистре сведений ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|