Проверить корректность кода работы с указателями - C (СИ)
Формулировка задачи:
Всем добра! Есть тупой вопрос.
Например, такая вот функция на C, которая должна что-то сделать с аргументом сделал так, но кажется, что так нельзя делать. Возможно, я написал код верно, просто туплю.
Если меня поправят, то буду счастлив
uint16_t *data
, а точнее, возять из него сначала с 0-го по 5-й бит, и с 6-го по 11-й.#include <stdint.h> **** typedef char BOOL; #define TRUE 1 #define FALSE 0 *** BOOL func(BOOL flag, uint16_t *data) { if (flag) { uint8_t bit0_5 = *data & 0x003F; /** первые 6 битов (c 0-го по 5-й бит) */ /** что-то делаю с ними */ uint8_t bit6_11 = (*data & 0x3FC0) >> 6; /** сделующие 6 битов (c 6-го по 11-й бит) */ /** что-то делаю с ними */ } return FALSE; }
Решение задачи: «Проверить корректность кода работы с указателями»
textual
Листинг программы
#include <stdbool.h> true false
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д