💻 COBOL
COBOL Pointer Usage
Advanced 🕑 15 min read
👁 0 views
COBOL Pointer Usage
Pointers provide direct memory addressing for advanced data manipulation.
Pointer Definition
```cobol 01 WS-POINTER USAGE POINTER. 01 WS-PROCEDURE-PTR USAGE PROCEDURE-POINTER. 01 WS-FUNCTION-PTR USAGE FUNCTION-POINTER. ```
Setting Pointers
```cobol SET WS-POINTER TO ADDRESS OF WS-DATA. SET WS-POINTER TO NULL. ```
Using Pointers with LINKAGE
```cobol LINKAGE SECTION. 01 LS-DATA PIC X(100).
SET ADDRESS OF LS-DATA TO WS-POINTER. ```
ALLOCATE Statement
```cobol ALLOCATE 1000 CHARACTERS RETURNING WS-POINTER. ```
FREE Statement
```cobol FREE WS-POINTER. ```
Common Uses
- Dynamic memory allocation
- Interfacing with other languages
- Processing variable-length data
Code Example
IDENTIFICATION DIVISION.
PROGRAM-ID. POINTER-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-PTR POINTER.
01 WS-DATA PIC X(100) VALUE 'Sample Data'.
01 WS-LENGTH PIC 9(5) VALUE 100.
LINKAGE SECTION.
01 LS-DATA PIC X(100).
PROCEDURE DIVISION.
* Set pointer to data address
SET WS-PTR TO ADDRESS OF WS-DATA
* Use pointer to access data
SET ADDRESS OF LS-DATA TO WS-PTR
DISPLAY 'Via pointer: ' LS-DATA
* Check for null
IF WS-PTR = NULL
DISPLAY 'Pointer is null'
END-IF
STOP RUN.