プロセスが実行される際のスタックに関して

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ITビギナーさん  
(No.1)
  何方か教えてください。
あるプログラム、
Proc A( )
  int X1
  X1=100
  call B(X1) /*関数Bの呼び出し*/
が実行された際のメモリスタックは、
<100 /*X1に代入された値*/
<X1のアドレス
<戻りアドレス
の順になると参考書に記載されていましたが、関数Bに渡すX1は値渡しなので、<X1のアドレス後に'<引数X1'を入れた方が良いと思ったのですが、間違いでしょうか。
2020.11.06 07:46
メタルさん 
FE ブロンズマイスター
(No.2)
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c006.html

うーん、スタックにProcA のローカル変数X1がはいり、次に引数で渡されたX1がはいり、ProcAに戻るアドレスが入り、空間を挟み、Bのローカル変数が入るのだと思います。

リンクもお読みください。
2020.11.08 01:55
ITビギナーさん  
(No.3)
   メタルさん、リンクまで付けていただきありがとうございます。解りやすいです。
2020.11.08 03:53

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop