Cで記述されたプログラムの意味がわからないのでどなたかご教示ください。
人が書いたプログラムを解析しています。
(その人は退職しています)
#define LITERAL 0x0C000100 int val = function(&((volatile uint *)LITERAL)[0x02]);
functionの引数はどう解釈すれば良いのでしょうか。
①((volatile uint *)LITERAL)の部分
LITERALは即値ですが、それに対してポインタ変数にキャストってできるんでしょうか?
②配列やポインタ変数も宣言されていないのに[0x02]はどういう意味なんでしょうか?
LITERALをポインタ変数に変換し、[0x02]のアドレスをfunctionに渡す。。。だと思うのですが。
LITERALが変数ではないのでよく分かりません。
どうかご回答よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー