如题所述
env_init是个字符指针数组,里面保存的是字符指针,最后的NULL为空指针,表达最后一个元素,可以通过它来判断有没有到达数组尾,比如下面的代码:
#include <stdio.h>
int main(void)
{
char *env_init[]={"USER=unknow","PATH=/tmp",NULL};
int i = 0;
while (env_init[i] != NULL)
{
printf("%s\n", env_init[i]);
++i;
}
return 0;
}
以上输出env_init里面的每一个元素。运行截图:
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-03-15
你定义了一个指针数组,每个指针是字符串指针类型。
数组初始化了3个元素。
头两个元素的指针,分别指向了两个字符串常量。
第三个元素的指针=0(NULL=0),没有指向任何东西(而不是空字符串,空字符串是"")
因为你在创建数组的时候,没有指定数组大小。
所以在循环读取数组元素的时候,必须有一种标志,表明数组结束了(不需要在往后循环了),
这种标志就是用"指针=0"来判断。本回答被提问者采纳
数组初始化了3个元素。
头两个元素的指针,分别指向了两个字符串常量。
第三个元素的指针=0(NULL=0),没有指向任何东西(而不是空字符串,空字符串是"")
因为你在创建数组的时候,没有指定数组大小。
所以在循环读取数组元素的时候,必须有一种标志,表明数组结束了(不需要在往后循环了),
这种标志就是用"指针=0"来判断。本回答被提问者采纳