正规网站建设咨询电话,未来分发网下载app,开发网站的技术路线,内蒙古网站设计1. 命令行参数
大家平时在写主函数时基本是无参的#xff0c;但其实是有参数的#xff0c;先介绍前两个参数。
int main(int argc, char* argv[])第二个参数是指针数组#xff0c;第一个参数是该数组的个数#xff0c;我们先来写 一段代码来看看指针数组里面是什么。 1 #…1. 命令行参数
大家平时在写主函数时基本是无参的但其实是有参数的先介绍前两个参数。
int main(int argc, char* argv[])第二个参数是指针数组第一个参数是该数组的个数我们先来写 一段代码来看看指针数组里面是什么。 1 #include stdio.h2 3 int main(int argc,char* argv[])4 {5 for(int i 0; i agrc; i)6 printf(argv[%d]: %s\n,i,argv[i]);7 return 0; 8 } 很明显里面存放的就是我们输入的命令行这种模式大家有没有很熟悉没错就是我们linux的指令所以指令也是以命令行参数的形式实现的。 2.环境变量
在我们语言层面也有变量的概念其实是很相似的。因为变量的本质就是开辟一块空间给这个空间填充内容和取名字。环境变量的本质也就是操作系统开辟的一块空间。 环境变量是具有特定作用的我们来举个例子。 我们平时执行我们写的一个程序都要带上./但为什么执行系统的指令就不需要呢这是因为PATH这个环境变量存放着操作系统搜索可执行程序的路径。我们用echo $变量名 来查看一下PATH 如果我们想使自己写的程序也能像系统程序一样根据上面有两个思路第一是将自己的程序放到上面任意一个路径中第二是改变PATH的内容将自己程序的路径添加上去。
env指令可以查看所以环境变量 还有种方式也可以查看环境变量就是main函数的第三个参数要求以NULL结尾 #include stdio.hint main(int agrc,char* agrv[],char* env[]){int i;for(i 0;env[i];i)printf(%s\n,env[i]); return 0;}用第三方变量也可以获取
#include stdio.h
int main(int argc, char *argv[])
{extern char **environ;int i 0;for(; environ[i]; i){printf(%s\n, environ[i]);}return 0;
}
libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时 要用extern声明。
export指令可以让用户自己创建环境变量
环境变量又叫全局环境变量因为它会被所有后代进程所继承。
与环境变量相对的一个概念叫本地变量本地变量只在本次登陆有效。定义的本地变量使用env命令看不到要使用set命令。unset删除变量。