头文件(Header File)
以.h为后缀的文件,可以通常的理解为多个函数的集合。在接下来的代码编译中我们需要直接调用某些函数,但必须事先声明这些函数出自哪里,这里的'哪里'也就是头文件。如:<stdio.h>,<string.h>等。
头文件的目的主要是:
1.提供接口声明(也就是在上文提到的出自哪里的声明)
2.模块化:通过头文件可以将程序的声明与实现分离以提高代码的稳定性。
3.防止重复定义:通过包含保护(Include Guards)等机制,头文件可以防止多次被包含到一个源文件中,从而避免了重复定义的问题。
源文件(Source File)
以.c为后缀的文件,是编译器直接处理的对象。经过编译器处理后可以转化为后缀名为.exe,.o,.obj等可执行文件。
通常情况下我们在编写C语言程序时,通常会把项目的不同部分分散到不同的源文件中,以便更好地组织与管理代码。
库函数
库函数是基于C语言基础,预先定义好且由编译器厂商直接提供的可行使一定功能的函数。
库函数与头文件的区别与联系
头文件主要为我们提供函数的接口声明,使用户能够知道并使用这些接口。库函数则是提供这些接口的具体实现。
用人话来讲就是:函数库就像是很多宝箱堆积在一起,每个宝箱里都包含着不同的库函数。头文件就像是打开这些宝箱的钥匙,使用特定的钥匙就可以打开特定的宝箱,从而得到并使用特定的库函数。
printf函数
printf函数:格式化输出函数(print format),是库函数,被包含于头文件<stdio.h>中。
作用:在屏幕上打印信息
例如:printf("%d", 500);
printf("%c",a);
printf("%s",abcdef);
scanf函数
scanf函数:格式化输入函数(scan format),是库函数,被包含于头文件<stdio.h>中。
作用:从键盘上接收输入的信息
与printf函数不同的是,若想将键盘上输入的信息转移到变量中,则必须有一个特殊符号'&'
格式为:scanf("占位符",&已声明变量);
scanf("占位符1" "占位符2" "占位符3",&变量1,&变量2,&变量3);
其中&的作用是将键盘上输入的值赋给变量。当scanf函数读取数据时,会跳过用户输入的空白字符,换行符,制表符等。此外,用户在输入数据时用回车键将代码分成几行也不会影响scanf函数的读取。