在C语言中函数的默认参数类型

Python06

在C语言中函数的默认参数类型,第1张

  在许多c语言初学者中编写函数时,都喜欢将无参函数中的参数类型忽略。

  但是实际上 默认的参数类型 不是无参 void ,而是接受 任意数量和类型的参数 。也就是说 int func() int func(void) 是不一样的。下面通过一个例子加深了解一下在C语言中函数的默认参数类型

  所以说,在使用c语言编写无参函数时,一定要把 void 写上去,不然会有安全隐患。

int

main(

int

argc,

char

*argv[],

char

*envp[]

)

三个参数:

argc表示有多少个命令行参数,第一个就是执行程序名,所以argc最少为1。

argv是具体的参数。

envp是系统的环境变量,很少有介绍的。“名称=值”的形式,以NULL结束。

可以测试一下:

int

main(

int

argc,

char

*argv[],

char

*envp[]

)

{

for

(

int

i

=

0

i

<

argc

++i

)

{

printf(

"%d

:

%s

\n",

i,

argv[

i

]

)

}

for(

int

i

=

0

envp[i]

!=

NULL

++i

)

{

printf(

"%d

:

%s

\n",

i,

envp[

i

]

)

}

return

0

}