私が分析しているCコードがあり、次のようなものがあります:
variable = (unsigned long)rx;
rx
が 16 進数の配列で、変数が の場合、変数は何unsigned long
を保持しますか? unsigned long
フォーマットの最初の要素?
私が分析しているCコードがあり、次のようなものがあります:
variable = (unsigned long)rx;
rx
が 16 進数の配列で、変数が の場合、変数は何unsigned long
を保持しますか? unsigned long
フォーマットの最初の要素?
配列の名前を使用するときはいつでも配列はポインターに減衰し、それを無視するため、アドレスを取得することになります。
したがって:
variable = (unsigned long)rx;
rx[]
のアドレスをvariable
unsigned long 値として割り当てます。これに対して:
variable = (unsigned long)*rx;
またはこれ:
variable = (unsigned long)rx[0];
の最初の要素の値が得られます(構文は基本的に、+オフセットのベースアドレスを取得し、それを逆参照して結果を返すと言ってrx[]
いることに注意してください)rx[0]
rx
0