Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Pointer (computer programming)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===PL/I=== The [[PL/I]] language provides full support for pointers to all data types (including pointers to structures), [[recursion]], [[Computer multitasking|multitasking]], string handling, and extensive built-in [[subroutine|function]]s. PL/I was quite a leap forward compared to the programming languages of its time.{{citation needed|date=February 2014}} PL/I pointers are untyped, and therefore no casting is required for pointer dereferencing or assignment. The declaration syntax for a pointer is <code>DECLARE xxx POINTER;</code>, which declares a pointer named "xxx". Pointers are used with <code>BASED</code> variables. A based variable can be declared with a default locator (<code>DECLARE xxx BASED(ppp);</code> or without (<code>DECLARE xxx BASED;</code>), where xxx is a based variable, which may be an element variable, a structure, or an array, and ppp is the default pointer). Such a variable can be address without an explicit pointer reference (<code>xxx=1;</code>, or may be addressed with an explicit reference to the default locator (ppp), or to any other pointer (<code>qqq->xxx=1;</code>). Pointer arithmetic is not part of the PL/I standard, but many compilers allow expressions of the form <code>ptr = ptr±expression</code>. IBM PL/I also has the builtin function <code>PTRADD</code> to perform the arithmetic. Pointer arithmetic is always performed in bytes. IBM ''Enterprise'' PL/I compilers have a new form of typed pointer called a <code>HANDLE</code>.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)