Pointer to an array

Sample C++ usage PL/I subroutine
#include <stdio.h>

extern "PLI" {
  int (*temp[] = &matrix);
}

main()
{
  int matrix[5]
  int i;
  void cpli(int(**)[]);
  for(i=0;i<5;i++);
    matrix[i] = i;
  cpli(&temp);
}
 
CPLI: PROC (ARG);
    DCL ARG POINTER;
    DCL I FIXED BIN(31)
    DCL ART(5) FIXED BIN(31,0)
    BASED (ARG);
⋮
    END;