Example: using qualification in C

The examples below use the following program.
LOAD MODULE NAME:  MAINMOD
SOURCE FILE  NAME:  MVSID.SORTMAIN.C

short length = 40;
main ()
{
  long *table;
  void (*pf)();

  table = malloc(sizeof(long)*length);
⋮
  pf = fetch("SORTMOD");
  (*pf)(table);
⋮
  release(pf);
⋮
}

LOAD MODULE NAME:  SORTMOD
SOURCE FILE  NAME:  MVSID.SORTSUB.C

short length = 40;
short sn = 3;
void (long table[])
{
  short i;
  for (i = 0; i < length-1; i++) {
    short j;
    for (j = i+1; j < length; j++) {
      float sn = 3.0;
      short temp;
      temp = table[i];
⋮
      >>> z/OS Debugger is given <<<
      >>> control here.    <<<
⋮
      table[i] = table[j];
      table[j] = temp;
    }
  }
}

When z/OS® Debugger receives control, variables i, j, temp, table, and length can be specified without qualifiers in a command. If variable sn is referenced, z/OS Debugger uses the variable that is a float. However, the names of the blocks and compile units differ, maintaining compatibility with the operating system.