я наткнулся на строку кода, написанного на C++:Является ли этот тип литой или какой-либо арифметикой указателя?
long *lbuf = (long*)spiReadBuffer;
И получается, что «spiReadBuffer» массив байтов с 12 элементами. Но я немного смущен. Я думаю, что я знаком с определением указателей, и я вижу, что «lbuf» - это тип «длинный» указатель. Кроме того, я думал, что для литья мы можем сделать что-то вроде этого:
y = (int) x;
Но что, если я положил «*» после «ИНТ» так же, как мой первый пример, где есть один после «долго»? Я извиняюсь, если это действительно тривиальный вопрос, но когда я проходил темы литья и указателей, я не сталкивался со своим делом, и я действительно не понимал этого. Буду признателен, если вы можете направить меня или познакомить меня с любыми соответствующими материалами или ресурсами.
Да, это тип. Что такое 'y'? Я полагаю, что это 'int'. –
Как объявляется 'y'? Предположим, что это был 'long * y' - what * type *, если он * указывает на *? – usr2564301
С этим типом литья можно получить доступ к 'uint8_t spiReadBuffer [12];' как если бы это был 'uint32_t buffer [3];', то есть 32 бита за раз. На данный момент у него нет арифметики. –