当我使用代码 environ=NULL
时,这意味着我正在为该进程删除整个环境。
但我想知道为什么 envrion=NULL
意味着它正在为该进程删除整个环境。
基本上,环境变量位于进程堆栈地址范围以下的地址空间中。
因此,environ
变量表示地址空间,environ=NULL
表示 environ
不再表示地址空间,我的意思是不删除环境变量存在的内存内容。
但是,为什么这意味着要删除整个环境??
最佳答案
C 标准库通过environ
指针访问环境。如果您将该指针设置为不同的东西,这会使标准库不再找到先前设置的环境变量,因此具有清除环境或将其设置为您将 environ
指针设置为任何内容的效果。
关于c - 删除整个环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37005896/