在linux下些c程序时经常都这样写main函数,例如int main(){}
其实对于main函数的声明为int main(int argc,char* argv[],char* env[]);我很少见,但这次去出现了,因此我特别说一下这个函数的功能,希望对学习c的朋友能够有帮助
1、argc代表该程序运行是参数的个数(如 ./test 1 2 3其参数个数为4 也就是字符串个数)2、argv代表这些参数(字符串)(如 ./test 1 2 3中argv[0] = ./test ,argv[1] = l, argv[2]=2, argv[3]);
3、env代表的是环境变量的字符串(各种路径)如下。
env[0]=./test
env[1]=ni
env[2]=si
env[3]=(null)
env[4]=TOMCAT_HOME=/usr/local/apache-tomcat-5.5.34
env[5]=SSH_AGENT_PID=3502
env[6]=HOSTNAME=localhost.localdomain
env[7]=DESKTOP_STARTUP_ID=
env[8]=TERM=xterm
env[9]=SHELL=/bin/bash
env[10]=CATALINA_HOME=/usr/local/apache-tomcat-5.5.34
env[11]=HISTSIZE=1000
env[12]=GTK_RC_FILES=/etc/gtk/gtkrc:/home/CLanguage/.gtkrc-1.2-gnome2
env[13]=WINDOWID=31457361
env[14]=CDPATH=/home/CLanguage:/home/CLanguage/bin:/home/CLanguage/lib:/home/CLanguage/src:/home/CLanguage/tmp:/home/CLanguage/log:/home/CLanguage/src/libsrc:/home/CLanguage/src/include:/home/CLanguage/src/libsrc/public
env[15]=USER=CLanguage
env[16]=LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
env[17]=CLASS_PATH=.:/usr/jdk1.6.0_29/lib:/usr/jdk1.6.0_29/jre/lib:
env[18]=GNOME_KEYRING_SOCKET=/tmp/keyring-DPLs3q/socket
env[19]=SSH_AUTH_SOCK=/tmp/ssh-AaVzwg3467/agent.3467
env[20]=SESSION_MANAGER=local/localhost.localdomain:/tmp/.ICE-unix/3467
env[21]=USERNAME=CLanguage
env[22]=MAIL=/var/spool/mail/CLanguage
env[23]=PATH=/usr/kerberos/bin:/usr/local/apache-tomcat-5.5.34/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/jdk1.6.0_29/bin:/usr/jdk1.6.0_29/jre/bin:/home/CLanguage/bin
env[24]=DESKTOP_SESSION=default
env[25]=QT_IM_MODULE=scim
env[26]=GDM_XSERVER_LOCATION=local
env[27]=INPUTRC=/etc/inputrc
env[28]=PWD=/home/CLanguage/tmp
env[29]=JAVA_HOME=/usr/jdk1.6.0_29
env[30]=XMODIFIERS=@im=SCIM
env[31]=LANG=zh_CN.UTF-8
env[32]=GDMSESSION=default
env[33]=SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
env[34]=SHLVL=2
env[35]=HOME=/home/CLanguage
env[36]=GNOME_DESKTOP_SESSION_ID=Default
env[37]=LOGNAME=CLanguage
env[38]=CVS_RSH=ssh
env[39]=DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-B8dn7KFAEd,guid=6be4da3bb5334c43df13d5004ed2da47
env[40]=LESSOPEN=|/usr/bin/lesspipe.sh %s
env[41]=DISPLAY=:0.0
env[42]=GTK_IM_MODULE=scim-bridge