ポインタと配列の違い
http://shinh.skr.jp/m/?date=20080709#p01
これで分かってたまるか!!!!11
ちなみに配列の方は落ちないけれどポインタの方は落ちます。タダのアドレスが入っちゃうので。
例によって例のごとく文字列に機械語が埋め込まれていますね。
08049540 <main>: 8049540: 60 pusha 8049541: 6a 20 push $0x20 8049543: 58 pop %eax 8049544: 24 40 and $0x40,%al 8049546: 50 push %eax 8049547: 5b pop %ebx (略)
irb(main):001:0> [0x60,0x6a,0x20,0x58,0x24,0x40,0x50,0x5b].map{|n|n.chr} => ["`", "j", " ", "X", "$", "@", "P", "["]
なんだかなー。
二番目はどこがわかりやすくなったのかしりませんが、
0804951c <main>: 804951c: 60 pusha 804951d: 6a 20 push $0x20 804951f: 58 pop %eax 08049520 <main1>: 8049520: 24 40 and $0x40,%al 8049522: 50 push %eax 8049523: 5b pop %ebx 08049524 <main2>: 8049524: 50 push %eax 8049525: 59 pop %ecx 8049526: 50 push %eax 8049527: 50 push %eax
こんな感じに。ていうかこれ data セクションなんですけど実行できていいのかなあ。
ばいなりつーぽいんとおーべんきょーかいを駆け足で進めてポインタと配列の違いをアセンブラで見よー、とかしたかったんですが、