c语言声明函数位置 c语言声明函数和定义函数( 八 )


匈牙利风格的代码 , 是从微软开始流行的一种风格,函数名以一个或多个英文单词命名,每个单词的首字母大写,其他字母小写 。
不过Linux的代码(包括第三方的软件),还是保持上古C代码的那种下划线风格,全部字母小写,单词之间以下划线分割,而且多使用缩写 。
有时候,缩写之后只剩下几个字母,就直接新组一个词当函数名了 。
例如 , Linux上启动新程序的函数execve(),就是个缩写的单词 。
执行的英文单词叫execute,windows上的可执行程序叫exe文件,就是这个词的前3个字母,Linux也选了这三个字母 。
cve这三个字母,来自完整的main函数的参数列表:
int main(int argc, char* argv[], char* envp);
main函数的完整声明是上面这个样子的,int main()这个是简化版的 。
其中第一个参数argc , 表示要传给main函数的参数个数 。通过命令行参数的形式传递 。arg是参数argument的缩写,c就是count,即参数个数 。
argv,是(传给main函数的)参数字符串的数组,v指的是vector 。
envp , 是环境变量的路径 , environment path 。
所以,启动main的系统调用就叫作execve()了,而不叫StartProgram() 。
虽然后者明显容易理解,但它字母多啊,系统调用的API哪能让人一眼就看出来是启动进程的呢(汗) 。
回到开头,main()函数在Linux上就是被execve()这个API启动的,然后其他函数要被main函数直接或间接调用 。
不被main函数(直接或间接)调用的函数,并不会运行 。
上图的代码只会打印add,因为main只调用了add()函数 , 没有调用sub()函数 。
这段简单的代码,只有这三个函数,sub()没有被调用 。
c语言声明函数位置的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言声明函数和定义函数、c语言声明函数位置的信息别忘了在本站进行查找喔 。

推荐阅读