реклама на сайте
подробности

 
 
> указатель на указатель, помочь разобраться
Метценгерштейн
сообщение Jul 27 2018, 10:48
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Встретил в коде следующую конструкцию:

Код
ble_advdata_tk_value_t* oob_key;
err_code = nfc_tk_value_get(&oob_key);


где:

Код
typedef struct
{
  uint8_t tk[BLE_GAP_SEC_KEY_LEN];      /**< Array containing TK value in little-endian format. */
} ble_advdata_tk_value_t;


Код
ret_code_t nfc_tk_value_get(ble_advdata_tk_value_t ** pp_tk_value)
{
    if (m_tag_match)
    {
        *pp_tk_value = &m_device_tk;
        return NRF_SUCCESS;
    }
    else
    {
        return NRF_ERROR_NOT_FOUND;
    }
}


Есть вопрос. Как все проговорить что тут происходит?
Есть тип структуры ble_advdata_tk_value_t. Создали переменную- указатель на этот тип: oob_key.
Дальше? Передаем не просто адрес (сам указатель oob_key), а именно адрес этого указателя? А в ф-ии уже принимаем указатель на указатель?
Разыменовывали на один уровень вверх и по тому значению присвоили адрес уже массива.

А проще никак?
err_code = nfc_tk_value_get(oob_key);

и приняли:
Код
ret_code_t nfc_tk_value_get(ble_advdata_tk_value_t * pp_tk_value)
{
    if (m_tag_match)
    {
        pp_tk_value = &m_device_tk;
        return NRF_SUCCESS;
    }
    else
    {
        return NRF_ERROR_NOT_FOUND;
    }
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
x893
сообщение Jul 27 2018, 19:46
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Для АРМ параметры передаются через регистры (пока хватает). Так что Ваши параметры после выхода просто пропадут. Проще посмотреть отладчиком, если лень книги читать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Метценгерштейн   указатель на указатель   Jul 27 2018, 10:48
- - Kabdim   Всё что со знаками вопроса - верно. Проще никак. С...   Jul 27 2018, 11:05
- - x893   есть передать сам указатель вы его изменить не смо...   Jul 27 2018, 11:44
- - Метценгерштейн   Хорошо, а в моем приведенном примере- в чем ошибка...   Jul 27 2018, 11:51
|- - x893   Цитата(Метценгерштейн @ Jul 27 2018, 14:5...   Jul 27 2018, 12:09
- - Метценгерштейн   Не нашел в инете такой книжки. Не совсем понимаю,...   Jul 27 2018, 12:25
- - _pv   на что будет указывать oob_key после выполнения фу...   Jul 27 2018, 12:39
- - Метценгерштейн   Разыменование происходит в оригинальном примере: *...   Jul 27 2018, 12:54
|- - _pv   Цитата(Метценгерштейн @ Jul 27 2018, 19:5...   Jul 27 2018, 13:49
||- - Метценгерштейн   Цитата(_pv @ Jul 27 2018, 16:49) в каком ...   Jul 27 2018, 14:32
|- - Kabdim   Цитата(Метценгерштейн @ Jul 27 2018, 15:5...   Jul 27 2018, 14:48
|- - DASM   Цитата(Kabdim @ Jul 27 2018, 17:48) Но де...   Jul 27 2018, 15:22
- - Метценгерштейн   Так я же не против почитать что-то) Читал много, н...   Jul 27 2018, 14:50
- - Kabdim   Упрощенно: Переменная снаружи имеет какое-то значе...   Jul 27 2018, 15:02
|- - Herz   Цитата(Kabdim @ Jul 27 2018, 18:02) В сте...   Jul 27 2018, 17:32
|- - Arlleex   Цитата(Herz @ Jul 27 2018, 20:32) Простит...   Jul 27 2018, 18:21
- - Метценгерштейн   Кодret_code_t nfc_tk_value_get(ble_advdata_tk_...   Jul 27 2018, 15:24
- - Arlleex   Попробую внести ясности-понятности. Код// допустим...   Jul 27 2018, 15:41
- - Kabdim   2Метценгерштейн: Видимо я утерял нить рассуждений....   Jul 27 2018, 15:42
- - Метценгерштейн   Arlleex, спасибо за подробное изложение. Прошлись ...   Jul 27 2018, 19:42
|- - Arlleex   Цитата(Метценгерштейн @ Jul 27 2018, 22:4...   Jul 28 2018, 11:15
- - Метценгерштейн   Спасибо. Упустил из вида момент, что Кодble_advda...   Jul 28 2018, 16:59
- - Метценгерштейн   Спасибо. Упустил из вида момент, что Кодble_advda...   Jul 29 2018, 05:19
|- - andrew_b   Цитата(Метценгерштейн @ Jul 29 2018, 08:1...   Jul 29 2018, 07:27
|- - GeorgK   Возможно (вроде этого не было), стоит ещё упомянут...   Aug 31 2018, 17:37
- - DASM   Давайте давайте учтите плохому. "Within funct...   Sep 1 2018, 04:17
- - Professor Chaos   Цитата(Метценгерштейн @ Jul 29 2018, 08:1...   Sep 1 2018, 13:53


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 15:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016