COBOL2002 ユーザーズガイド
プログラム間で引数を受け渡す場合は,CALL文のUSING指定を,メソッドを呼び起こす場合は,INVOKE文のUSING指定を,それぞれ使用します。
- 引数の受け渡しの種類
- 引数の受け渡しには,次の3種類があります。受け渡しの種類の指定を省略した場合は,BY REFERENCEが仮定されます。
引数の受け渡しの種類 |
データの渡し方 |
仮引数の更新 |
BY REFERENCE |
参照渡し |
実引数に反映される。 |
BY CONTENT |
内容渡し |
実引数に反映されない。 |
BY VALUE |
値渡し |
実引数に反映されない。 |
- それぞれの受け渡し方法の違いについて,次に説明します。
- 参照渡し(BY REFERENCE指定)
- 呼び出し元プログラムのデータ項目を直接参照するアドレスを,呼び出し先プログラムに渡します。呼び出し先プログラムでデータ項目の値を変更すると,呼び出し元プログラムのデータ項目にも反映されます。
- 内容渡し(BY CONTENT指定)
- 呼び出し元プログラムのデータ項目の内容を一時領域に転記し,転記後のデータ項目を参照するアドレスを呼び出し先プログラムに渡します。呼び出し先プログラムでデータ項目の値を変更しても,呼び出し元プログラムのデータ項目には影響しません。
- 値渡し(BY VALUE指定)
- 呼び出し元プログラムのデータ項目の値を,呼び出し先プログラムに渡します。呼び出し先プログラムでデータ項目の値を変更しても,呼び出し元プログラムのデータ項目には影響しません。
- 引数を値渡しする場合は,呼び出し元プログラムのデータ項目と呼び出し先プログラムのデータ項目での型の対応に注意する必要があります。
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.