1.1 介绍
1.1 介绍
每一个c程序都有个main函数,作为程序启动入口函数。main函数的原型是int main(int argc , char *argv[]);其中argc表示命令行参数的个数;argv是一个指针数组,保存所有命令行字符串。Linux进程名称是通过命令行参数argv[0]来表示的。
Linux 还有环境变量参数信息,表示进程执行需要的所有环境变量信息。通过全局变量
Char **environ;可以访问环境变量。
命令行参数argv和环境变量信息environ是在一块连续的内存中表示的,并且environ紧跟在argv后面。如下图:
1.2 验证argv和environ执行连续内存的测试程序
1 #include <stdio.h>
2 #include <string.h>
3
4 extern char **environ;
5 int main(int argc , char *argv[])
6 {
7 int i;
8
9 printf("argc:%d\n" , argc);
10
11 for (i = 0; i < argc; ++i){
12 printf("%x\n" , argv[i]);
13 printf("argv[%d]:%s\n" , i , argv[i]);
14 }
15
16 printf("evriron=%x\n" ,