char *env_init[]={"USER=unknow","PATH=/tmp",NULL};这段代码里NULL表示什么意思啊..求解

如题所述

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"来判断。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网