c
1#include <stdio.h> 2 3 4int main(void){ 5 unsigned long a = 0; 6 unsigned char c[16]; 7 8 a = *((unsigned long * )&c[0]); 9 printf("%x\n",a); 10 a = *((unsigned long * )&c[1]); 11 printf("%x\n",a); 12 a = *((unsigned long * )&c[2]); 13 printf("%x\n",a); 14 15 return 0; 16}
a = *((unsigned long * )&c[0]);
↑この部分がアドレスを入れているのか値をいれているのかがわかりません。
どちらになるのでしょうか。
また、実行したら下記のようになりました。
40197b
10004019
19100040
これはどういう理屈でこの値になるのでしょうか。
ご教授お願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/07 00:21