Назад к задачам
МТСПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
11
Оптимизация функции поиска ячейки в массиве
Компании, где спрашивали:
Условие задачи
Необходимо улучшить читаемость и структуру функции, которая ищет элемент в массиве по идентификатору и возвращает указатель на найденный блок управления. Перепишите код, используя более понятные имена переменных и упростив логику без изменения поведения.
/**
* @fn ueUtlFndCell
*
* @brief Fill cell control block from cellArr by \p cellId
*
* @param[in] targetCellId идентификатор искомой ячейки
* @param[out] outCell указатель для хранения найденного блока управления.
* @return ROK on success
* RFAILED if cellId not found.
*/
PUBLIC S16 ueUtlFndCell(U16 targetCellId, CellCb **outCell)
{
TRC2(ueUtlFndCell)
for (U16 idx = 0; idx < UE_NUM_CELLS; idx++) {
if (targetCellId == cellArr[idx].cellId) {
*outCell = &cellArr[idx];
RETVALUE(ROK);
}
}
UE_LOG(UE_APP, UE_LOG_ERROR, "ueUtlFndCell: CellCb not found for cell id: %d\n", targetCellId);
*outCell = NULLP;
RETVALUE(RFAILED);
}