ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
462398 Топик полностью
koyodza (11.11.2013 21:30, просмотров: 60) ответил UraGun на Может быть есть какой-то простой стиль записи, позволяющий размещать не используемые одновременно переменные по фиксированным адресам, аля
не используемые одновременно обычно стараются делать локальными. Если у Вас оно уже получается большое, то или malloc/free, или new/delete, или вручную например так: определяете область размещения данных любого типа. Обычно удобнее всего использовать размерностью в байт. У Вас это uint8 Потом определяете нужное количество указателей на данные нужного типа. Присваиваете им адрес начала области данных, и потом обращаетесь к данным по указателям (подозреваю что с указателями у Вас туго, потому как иначе не было бы подобного вопроса). Типа так: uint8 dataArea[1024]; uint16* pData16 = (uint16*)dataArea; uint32* pData32 = (uint32*)dataArea; MYDATAUNION* pMyData = (MYDATAUNION*)dataArea; uint32 x = pData32[i]; uint16 y = *(pData16 + j); uint8 b = pMyData[i].a[j]; Способы обращения к нужным данным могут быть и другие. Использовать фиксированные адреса переменных можно только в очень ограниченных случаях. То что Вы спрашиваете к этому не относится.