| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] | 
awk is a very fluid language.
It is possible that awk can't tell if an identifier
represents a regular variable or an array until runtime.
Here is an annotated sample program:
function foo(a)
{
    a[1] = 1   # parameter is an array
}
BEGIN {
    b = 1
    foo(b)  # invalid: fatal type mismatch
    foo(x)  # x uninitialized, becomes an array dynamically
    x = 1   # now not allowed, runtime error
}
 | 
Usually, such things aren't a big issue, but it's worth being aware of them.