── SIZE ── ( ─┬─<array designator>─────────────────────┬─ ) ───────────┤
├─<event array identifier>───────────────┤
├─<interlock array identifier>───────────┤
├─<pointer identifier>───────────────────┤
├─<procedure reference array designator>─┤
└─<structure block array designator>─────┘The SIZE(<array designator>), the SIZE(<event array identifier>), the SIZE (<interlock array identifier>), the SIZE(<procedure reference array designator>), and the SIZE (<structure block array designator>) forms of the SIZE function return, as an integer value, the size of one dimension of the specified array expressed in elements. The element size of a procedure reference array designator is always some number of words. If the array designator is an array name or the procedure reference array designator is a procedure reference array identifier, the SIZE function returns the size of the first dimension of the specified array. If the array designator or the procedure reference array designator contains a subarray selector, the SIZE function returns the size of the dimension that corresponds to the first asterisk (*) subscript.
The SIZE(<pointer identifier>) form of the SIZE function returns, as an integer value, the character size of the specified pointer. If the character size of the pointer is 4 or 8 bits, the value returned is 4 or 8, respectively. If the pointer is word-oriented, the value returned is 0 or 2, depending on whether the pointer is single-precision or double-precision, respectively. If the pointer is uninitialized, the SIZE function returns 0. See POINTER Function earlier in this section for a discussion of character size.
| Note: | The SIZE function cannot be used for task arrays. |

