最后环境的打印地址

New*_*bie 2 c linux

我需要打印环境的最后一个地址.

我知道我可以用这个得到第一个地址(或者我想我做到了).

extern char **environ;
printf("first address %p\n",&(*environ));
Run Code Online (Sandbox Code Playgroud)

但是最后一个地址怎么样?

Cha*_*rns 6

man environ 是一个很好的起点.

char **pp = environ;
for( ; *pp; pp++) {
   printf("%s\n", *pp);
} 
printf("The end of environ is %p\n", pp);
Run Code Online (Sandbox Code Playgroud)

将打印出环境变量; 我相信它们的形式是"名称=价值".

询问最后一个似乎很奇怪,因为它们没有特定的顺序,除了它们在shell中设置的顺序.