当我使用代码environ=NULL时,这意味着我正在清除该进程的整个环境。
但我想知道为什么envrion=NULL意味着它正在为这个过程擦除整个环境。
基本上,环境变量位于进程堆栈地址范围下的地址空间中。
因此,environ变量表示地址空间,而environ=NULL表示environ不再表示地址空间,我的意思是不删除存在于环境变量中的内存内容。
但是,为什么这意味着要删除整个环境??

最佳答案

C标准库通过environ指针访问环境。如果将该指针设置为不同的值,则标准库将不再找到先前设置的环境变量,从而具有清除环境或将其设置为所设置的指针的效果。

关于c - 删除整个环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37005896/

10-11 15:24
查看更多