char*arge[]作为C中main中第三个参数的含义
在C程序中,作为主函数的第三个参数,char*arge[]意味着什么char*arge[]作为C中main中第三个参数的含义,c,main,C,Main,在C程序中,作为主函数的第三个参数,char*arge[]意味着什么 #include <stdio.h> #include <unistd.h> int main(int argc, char const *argv[], char *arge[]) { int i; char **p; printf("pid = %d\n", getpid()); printf("argc = %d\n", argc); for (i = 0; i <
#include <stdio.h>
#include <unistd.h>
int main(int argc, char const *argv[], char *arge[]) {
int i;
char **p;
printf("pid = %d\n", getpid());
printf("argc = %d\n", argc);
for (i = 0; i < argc; i++)
printf("%s\n",argv[i] );
p=arge;
while (*p != NULL)
printf("%s\n", *p++);
execve("prog2", argv, arge);
return 0;
}
#包括
#包括
int main(int argc,char const*argv[],char*arge[]{
int i;
字符**p;
printf(“pid=%d\n”,getpid());
printf(“argc=%d\n”,argc);
对于(i=0;i
提到的“prog2”是这样一个:
#include <stdio.h>
#include <unistd.h>
int main(int argc, char const *argv[], char *arge[]) {
printf("pid = %d\n", getpid());
printf("argc = %d\n", argc);
for(;;);
}
#包括
#包括
int main(int argc,char const*argv[],char*arge[]{
printf(“pid=%d\n”,getpid());
printf(“argc=%d\n”,argc);
对于(;);
}
如果执行代码,将获得所有环境变量。第三个参数是环境变量。这里有更深入的回答:
将环境变量作为main的第三个参数似乎在C和POSIX中都没有指定,因此它可能不可移植:而我学到了一些新的(或更好的旧的)你应该标记为复制而不是回答。回答问题的链接没有提到它是am扩展,而不是C或POSIX,我觉得这是重要的信息。我同意这些信息很重要。然而,你发现的Q/A组合比你想象的要好。注释和“其他”答案确实提供了这些信息。或者其他建议的副本更符合您的口味。@莫特您应该是对的,这是一个环境变量,给出的名称只是不同而已。“argE”E-like-environment..可能的重复(finders credits to@mort)我添加了我的C程序的代码以及它的内容returns@Yunnosch那么问题是“arge[]”和“envp[]”有什么区别呢