正确答案是:D
### 分析:
- **A: 全局变量和局部变量是相对于单个自定义函数而言的**
- **正确**。全局变量是在整个程序中定义的,作用域在整个程序中。而局部变量是定义在函数内部的,作用域仅限于该函数。
- **B: 全局变量的作用域是全局,局部变量的作用域仅限于单个函数内部**
- **正确**。全局变量可以在任何函数中被访问,而局部变量仅能在其所在的函数中被访问。
- **C: 全局变量的名字可以和局部变量的名字相同**
- **正确**。在函数中,局部变量会覆盖全局变量,即局部变量会优先于同名的全局变量。
- **D: 一般情况下,自定义函数执行结束后,局部变量依然存在,不会被注销**
- **错误**。局部变量在函数执行完毕后会被销毁,它们的生命周期仅限于函数的调用期间,一旦函数返回,局部变量也随之消失。
因此,选项 D 是错误的。局部变量的生命周期仅在函数调用期间,当函数结束时,局部变量会被注销。