Passing Arrays using POINTERS in CBLLE
我的项目中有一个情况,我们必须使用指针检索数组中的值。我能够在我的被调用程序中获取指针值,其中数组位于工作存储部分,
在我的调用程序中,我能够检索指针值并在 LINKAGE 部分定义了数组以克服编译器的限制,并且没有在过程划分中使用该数组,但是我面临的程序是我无法获取数组中的所有元素。任何线索如何解决这个问题。
假设调用程序的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | program-id. prog-1. data division. working-storage section. procedure division. begin. call"prog-2" call"prog-3" stop run . end program prog-1. program-id. prog-2. data division. working-storage section. 1 xdata01 external pic x(1024). 1 array redefines xdata01. 2 array-item pic x(16) occurs 64. procedure division. begin. move all"abcd" to array exit program . end program prog-2. program-id. prog-3. data division. working-storage section. 1 x binary pic 9(4). 1 xdata01 external pic x(1024). 1 array redefines xdata01. 2 array-item pic x(16) occurs 64. procedure division. begin. perform varying x from 1 by 1 until x > 64 display array-item (x) end-perform exit program . end program prog-3. abcdabcdabcdabcd abcdabcdabcdabcd abcdabcdabcdabcd abcdabcdabcdabcd abcdabcdabcdabcd (64 lines total) |
在本例中,
就等价而言,