Thanks for answers. As I understand, if varname in nested func. coincides with varname in primary func. that uses variable that was defined in primary func. Perhaps, secondary func. is like private methods in object oriented programming.
Another question, on analogy with C++. When I call nested or secondary func. -- subfun(par) -- a new region of memory is reserved and here value is copied from calling func. That is -- dublicating exists.