“在这个怀疑的时代,我们需要信仰”
C语言作为比较底层的语言,从来不只是语法的堆叠,“深入理解C语言”这个专栏,会写点关于“函数,数组,字符串,指针,结构体”的个人理解,希望能对大家有些帮助~
一.什么是main函数?
1.两种定义形式
int main( void )--无参数形式
{
...
return 0;
}
int main( int argc, char *argv[] )--带参数形式
{
...
return 0;
}
注意:main函数的返回值为整数,如果你写 return 9.9,会返回9(强制类型转换)
2.main函数的参数
argc:argument count,记录命令行中的字符串数
*argv[]:一个指向字符串的指针数组。命令行中的每个字符串被存储到内存中,并且分配一个指针指向它。系统使用空格把各个字符串格开。一般情况下,把程序本身的名字赋值给argv[0],接着,把最后的第一个字符串赋给argv[1],等等。
想了解更多,请看:https://www.cnblogs.com/xdshennju/archive/2012/01/23/2328992.html
3.main函数的作用
简单来说:进行程序与操作系统之间的交互,让代码真正“跑起来”
请看:https://www.cnblogs.com/wuseng/p/18488785
二.自定义函数
1.函数的定义与声明
声明格式:
返回值类型 名称()
在标准C语言中,函数的定义顺序是有讲究的,默认情况下,只有后面定义的函数才可以调用前面定义过的函数
如果想把其他函数的定义写在main函数后面,而且main函数能正常调用这些函数,那就必须在main函数前面作一下函数的声明
1 // 只是做个函数声明,并不用实现
2 int sum(int a, int b);
3
4 int main()
5 {
6 int c = sum(1, 4);
7 return 0;
8 }
9
10 // 函数的定义(实现)
11 int sum(int a, int b) {
12 return a + b;
13 }
只要你在main函数前面声明过一个函数,main函数就知道这个函数的存在,就可以调用这个函数。究竟这个函数是做什么用,还要看函数的定义。如果只有函数的声明,而没有函数的定义,那么程序将会在链接时出错
三.库函数
C语言提供的库函数,例如stdio.h中的输出函数printf()和输入函数scanf()
写作不易,很吃功底(哭笑)
致谢:
b站-逊哥教你学计算机
https://www.cnblogs.com/mjios/archive/2013/03/13/2957628.html
https://www.cnblogs.com/xdshennju/archive/2012/01/23/2328992.html
https://www.cnblogs.com/wuseng/p/18488785