1、argc 参数个数 argv参数名称
1 #include<stdio.h>
2 #include<stdlib.h>
3 int main(int argc,char*argv[],char*envp[])//参数个数,参数内容,环境变
量
4 {
5 printf("argc=%d\n",argc);
6 for(int i=0;i<argc;i++)
7 {
8 printf("argv[%d]=%s\n",i,argv[i]);
9 }
10 exit(0);
11 }
一般来说启动一个函数,就只会默认有一个参数,那就是路径,然后可以在路径后面加参数。
stu@stu-virtual-machine:~/Test$ gcc -o main main.c
stu@stu-virtual-machine:~/Test$ ./main
argc=1
argv[0]=./main
stu@stu-virtual-machine:~/Test$ ./main hello liujin 1111
argc=4
argv[0]=./main
argv[1]=hello
argv[2]=liujin
argv[3]=1111
这就是命令指令的来源:
Windows系统上也类似
2、envp环境变量
1 #include<stdio.h>
2 #include<stdlib.h>
3 int main(int argc,char*argv[],char*envp[])//参数个数,参数内容,环境变
量
4 {
5 printf("argc=%d\n",argc);
6 for(int i=0;i<argc;i++)
7 {
8 printf("argv[%d]=%s\n",i,argv[i]);
9 }
10 for(int i=0;envp[i]!=NULL;i++)
11 {
12 printf("envp[%d]=%s\n",i,envp[i]);
13 }
14 exit(0);
15 }
stu@stu-virtual-machine:~/Test$ ./main
argc=1
argv[0]=./main
envp[0]=SHELL=/bin/bash
envp[1]=SESSION_MANAGER=local/stu-virtual-machine:@/tmp/.ICE-unix/1920,unix/stu-virtual-machine:/tmp/.ICE-unix/1920
envp[2]=QT_ACCESSIBILITY=1
envp[3]=COLORTERM=truecolor
envp[4]=XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
envp[5]=XDG_MENU_PREFIX=gnome-
envp[6]=GNOME_DESKTOP_SESSION_ID=this-is-deprecated
envp[7]=GTK_IM_MODULE=ibus
envp[8]=LANGUAGE=zh_CN:zh
envp[9]=QT4_IM_MODULE=ibus
envp[10]=GNOME_SHELL_SESSION_MODE=ubuntu
envp[11]=SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
envp[12]=XMODIFIERS=@im=ibus
envp[13]=DESKTOP_SESSION=ubuntu
envp[14]=SSH_AGENT_PID=1811
envp[15]=GTK_MODULES=gail:atk-bridge
envp[16]=PWD=/home/stu/Test
envp[17]=LOGNAME=stu
envp[18]=XDG_SESSION_DESKTOP=ubuntu
envp[19]=XDG_SESSION_TYPE=x11
envp[20]=GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
envp[21]=XAUTHORITY=/run/user/1000/gdm/Xauthority
envp[22]=GJS_DEBUG_TOPICS=JS ERROR;JS LOG
envp[23]=WINDOWPATH=2
envp[24]=HOME=/home/stu
envp[25]=USERNAME=stu
envp[26]=IM_CONFIG_PHASE=1
envp[27]=LANG=zh_CN.UTF-8
envp[28]=LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
envp[29]=XDG_CURRENT_DESKTOP=ubuntu:GNOME
envp[30]=VTE_VERSION=6003
envp[31]=GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/12fd2448_baa8_4513_bf36_eaf74c42dc59
envp[32]=INVOCATION_ID=8e1dc83177314c8c8da2ef612c31d7bf
envp[33]=MANAGERPID=1635
envp[34]=CLUTTER_IM_MODULE=ibus
envp[35]=GJS_DEBUG_OUTPUT=stderr
envp[36]=LESSCLOSE=/usr/bin/lesspipe %s %s
envp[37]=XDG_SESSION_CLASS=user
envp[38]=TERM=xterm-256color
envp[39]=LESSOPEN=| /usr/bin/lesspipe %s
envp[40]=USER=stu
envp[41]=GNOME_TERMINAL_SERVICE=:1.89
envp[42]=DISPLAY=:0
envp[43]=SHLVL=1
envp[44]=QT_IM_MODULE=ibus
envp[45]=LD_LIBRARY_PATH=.
envp[46]=XDG_RUNTIME_DIR=/run/user/1000
envp[47]=JOURNAL_STREAM=8:53920
envp[48]=XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
envp[49]=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
envp[50]=GDMSESSION=ubuntu
envp[51]=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
envp[52]=OLDPWD=/home/stu/Test/共享库举例
envp[53]=_=./main
3、在windows上运行结果展示
#include<stdio.h>
int main(int argc, char* argv[], char* envp[])//argv envp全是二级指针,里面存放的是参数字符串和环境变量字符串的地址
{
printf("参数数量argc=%d\n",argc);
for (int i = 0; i < argc; i++)
{
printf("第%d个参数内容是argv[%d]=%s\n", i,i, argv[i]);//argv[i]相当于*(argv+i)相当于解引用了字符串,下同
}
for (int i = 0; envp[i] != NULL; i++)
{
printf("第%d个环境变量是:envp[%d]=%s\n", i, i, envp[i]);
}
return 0;
}
参数数量argc=1
第0个参数内容是argv[0]=E:\a_C C++2021代码\C++代码\C++\Debug\C++.exe
第0个环境变量是:envp[0]=ALLUSERSPROFILE=C:\ProgramData
第1个环境变量是:envp[1]=APPDATA=C:\Users\刘锦\AppData\Roaming
第2个环境变量是:envp[2]=CATALINA_BASE=C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.0
第3个环境变量是:envp[3]=CATALINA_HOME=C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.0
第4个环境变量是:envp[4]=Classpath=C:\Program Files\Java\jdk1.8.0_231\lib;C:\Program Files\Java\jdk-11.0.6\lib;C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.0\lib\servlet-api.jar;
第5个环境变量是:envp[5]=CommonProgramFiles=C:\Program Files (x86)\Common Files
第6个环境变量是:envp[6]=CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
第7个环境变量是:envp[7]=CommonProgramW6432=C:\Program Files\Common Files
第8个环境变量是:envp[8]=COMPUTERNAME=DESKTOP-BFQI39P
第9个环境变量是:envp[9]=ComSpec=C:\WINDOWS\system32\cmd.exe
第10个环境变量是:envp[10]=DriverData=C:\Windows\System32\Drivers\DriverData
第11个环境变量是:envp[11]=ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO=1
第12个环境变量是:envp[12]=FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
第13个环境变量是:envp[13]=FPS_BROWSER_USER_PROFILE_STRING=Default
第14个环境变量是:envp[14]=HOMEDRIVE=C:
第15个环境变量是:envp[15]=HOMEPATH=\Users\刘锦
第16个环境变量是:envp[16]=IntelliJ IDEA=E:\IntelliJ IDEA 2019.1\bin;
第17个环境变量是:envp[17]=JAVA_HOME=C:\Program Files\Java\jdk1.8.0_241;C:\Program Files\Java\jdk-11.0.6;
第18个环境变量是:envp[18]=LOCALAPPDATA=C:\Users\刘锦\AppData\Local
第19个环境变量是:envp[19]=LOGONSERVER=\\DESKTOP-BFQI39P
第20个环境变量是:envp[20]=MSBuildLoadMicrosoftTargetsReadOnly=true
第21个环境变量是:envp[21]=MSMPI_BENCHMARKS=C:\Program Files\Microsoft MPI\Benchmarks\
第22个环境变量是:envp[22]=MSMPI_BIN=C:\Program Files\Microsoft MPI\Bin\
第23个环境变量是:envp[23]=NUMBER_OF_PROCESSORS=8
第24个环境变量是:envp[24]=NVIDIAWHITELISTED=0x01
第25个环境变量是:envp[25]=OneDrive=C:\Users\刘锦\OneDrive
第26个环境变量是:envp[26]=OS=Windows_NT
第27个环境变量是:envp[27]=Path=C:\Program Files\Java\jdk1.8.0_241\bin;C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.0\lib;C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.0\bin;;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Users\刘锦\AppData\Local\Microsoft\WindowsApps;;E:\IntelliJ IDEA 2019.1\bin;
第28个环境变量是:envp[28]=PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
第29个环境变量是:envp[29]=PkgDefApplicationConfigFile=C:\Users\刘锦\AppData\Local\Microsoft\VisualStudio\16.0_0d126131\devenv.exe.config
第30个环境变量是:envp[30]=PROCESSOR_ARCHITECTURE=x86
第31个环境变量是:envp[31]=PROCESSOR_ARCHITEW6432=AMD64
第32个环境变量是:envp[32]=PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
第33个环境变量是:envp[33]=PROCESSOR_LEVEL=6
第34个环境变量是:envp[34]=PROCESSOR_REVISION=9e0a
第35个环境变量是:envp[35]=ProgramData=C:\ProgramData
第36个环境变量是:envp[36]=ProgramFiles=C:\Program Files (x86)
第37个环境变量是:envp[37]=ProgramFiles(x86)=C:\Program Files (x86)
第38个环境变量是:envp[38]=ProgramW6432=C:\Program Files
第39个环境变量是:envp[39]=PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
第40个环境变量是:envp[40]=PUBLIC=C:\Users\Public
第41个环境变量是:envp[41]=ServiceHubLogSessionKey=4D89BCA3
第42个环境变量是:envp[42]=SESSIONNAME=Console
第43个环境变量是:envp[43]=SHIM_MCCOMPAT=0x810000001
第44个环境变量是:envp[44]=SystemDrive=C:
第45个环境变量是:envp[45]=SystemRoot=C:\WINDOWS
第46个环境变量是:envp[46]=TEMP=C:\Users\刘锦\AppData\Local\Temp
第47个环境变量是:envp[47]=ThreadedWaitDialogDpiContext=-4
第48个环境变量是:envp[48]=TMP=C:\Users\刘锦\AppData\Local\Temp
第49个环境变量是:envp[49]=TOMCAT_HOME=C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.0
第50个环境变量是:envp[50]=USERDOMAIN=DESKTOP-BFQI39P
第51个环境变量是:envp[51]=USERDOMAIN_ROAMINGPROFILE=DESKTOP-BFQI39P
第52个环境变量是:envp[52]=USERNAME=刘锦
第53个环境变量是:envp[53]=USERPROFILE=C:\Users\刘锦
第54个环境变量是:envp[54]=VisualStudioDir=C:\Users\刘锦\Documents\Visual Studio 2019
第55个环境变量是:envp[55]=VisualStudioEdition=Microsoft Visual Studio Community 2019
第56个环境变量是:envp[56]=VisualStudioVersion=16.0
第57个环境变量是:envp[57]=VS110COMNTOOLS=E:\Vs2012\Common7\Tools\
第58个环境变量是:envp[58]=VSAPPIDDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\
第59个环境变量是:envp[59]=VSAPPIDNAME=devenv.exe
第60个环境变量是:envp[60]=VSLANG=2052
第61个环境变量是:envp[61]=VSLS_SESSION_KEEPALIVE_INTERVAL=0
第62个环境变量是:envp[62]=VSSKUEDITION=Community
第63个环境变量是:envp[63]=windir=C:\WINDOWS
第64个环境变量是:envp[64]=ZES_ENABLE_SYSMAN=1
第65个环境变量是:envp[65]=_NO_DEBUG_HEAP=1
E:\a_C C++2021代码\C++代码\C++\Debug\C++.exe (进程 2648)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .