是的argv [ARGC]等于NULL指针 [英] Is argv[argc] equal to NULL Pointer
问题描述
我读到一篇文章(忘了URL),这表示, ARGV [ARGC]
是 NULL
指针(包含 \\ 0
)。要检查是否是否是真的我写这篇code,是它存在。我不明白的是,为什么操作系统包括此
。它是为别的也有用的东西? NULL
指针的argv [ARGC]
INT
主(INT ARGC,字符** argv的){ 而(* argv的)
的printf(%S \\ n,* argv的++); 返回0;
}
C标准 5.1.2.2.1 / 2
秒大关明确地说:
ARGV [ARGC]应是一个空指针。
块引用>C ++标准
3.6.1 / 2
还明确地说。
的argv的值[ARGC]应为0。
块引用>I read an article (forgot the URL), which said that
argv[argc]
is aNULL
pointer (contains\0
). To check whether if its true I wrote this code, yeah it exist. What I don't understand is, why does the OS include thisNULL
pointer atargv[argc]
. Is it useful for something else also?int main (int argc, char **argv){ while (*argv) printf ("%s\n", *argv++); return 0; }
解决方案The C Standard
5.1.2.2.1/2
second mark says explicitlyargv[argc] shall be a null pointer.
The C++ Standard
3.6.1/2
also says explicitlyThe value of argv[argc] shall be 0.
这篇关于是的argv [ARGC]等于NULL指针的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!