Pointer variable in COBOL is a special type of variable. In this post I am sharing what is pointer variable, how to initialize and use them.
What are pointers
Another extension of the USAGE clause is to define data items that contain addresses of data or procedures.
POINTER is a four-byte data item that holds the address of another data item. PROCEDURE-POINTER is a four- or eight-byte data item (depending on the operating system) that contains the address of a program-entry point.
Rules for Pointer Variables
- A POINTER data item cannot have a PICTURE clause.
- The figurative constant NULL (or NULLS) can be used to initialise POINTER and PROCEDURE-POINTER data. No other literal value can be assigned to POINTER data.
In addition to the new data types, vendors implement special registers for use with address data:
ADDRESS OF a register that exists for each record (level 01 or 77) in the Linkage Section of the Data Division. The contents are the address of the data item, for example, ADDRESS OF record.
LENGTH OF a register that contains the length in bytes of the named data item, for example, LENGTH OF identifier.
POINTER variable you cannot use in a MOVE statement. They are manipulated by an extension of the SET statement that assigns them values.
SET identifier-1 TO ADDRESS OF identifier-2
where identifier-1 is a POINTER data item and identifer-2 is any data item in the Working-Storage Section or Linkage Section.
- POINTER data items can be used in relation conditions (to test for equality) and as arguments in a CALL statement.
- PROCEDURE-POINTER data items can be used as the object of a CALL statement.
-
From Laptop to Cloud: Deploy Your First Production DB Using Amazon RDS
Learn how to move from a local database to a production-ready cloud setup using Amazon RDS. A beginner-friendly step-by-step guide covering setup, backups, scaling, and best practices.
-
The End-to-End AI Stack – A Real Guide for Developers to Code, Create, and Execute
Learn how modern AI tools like ChatGPT, NotebookLM, and Antigravity fit into the AI stack. Discover the 5-layer AI capability model and how to choose the right AI tools for thinking, creating, building, and automat
-
FAANG-Style SQL Interview Traps (And How to Avoid Them)
SQL interviews at FAANG (Facebook/Meta, Amazon, Apple, Netflix, Google) are not about syntax. They are designed to test logical thinking, edge cases, execution order, and data correctness at scale. Many strong candidates fail—not because they don’t know SQL, but because they fall into subtle traps. In this blog, we’ll walk through real FAANG-style SQL traps,…







One response
[…] are data items that contain virtual storage addresses. You define them either explicitly with the USAGE IS POINTER clause in the DATA DIVISION or implicitly as ADDRESS OF special […]
LikeLike