多文件
(1)文件的包含
- 标准库的头文件:
一般用<>括起来;编译器直接去查找标准库,找到相应的文件
例如:
#include<stdio.h> - 自定义头文件:一般用“”括起来;为了区分哭的头文件,编译器的查找路径
为当前工作路径
其中可以对外部函数进行声明,可以包含 宏,和结构体,头文件以及自定义头文件
全局变量的使用:
在1.c文件中定义的全局变量,若在其他文件中使用
(1)在其他文件中使用extern声明该全局变量;
(2)将1.c文件包含头文件中。
(2)多文件
便于项目管理,可以根据个人的需求或项目需求将项目划分为不同的文件,有利于提高开发效率!
编译时,多文件以前进行编译。
可以将多个文件存放于不同的目录中,
源文件------>src目录
头文件------->include目录
可实现文件-------->bin文件
(6)注意事项:
双目运算符
assert()函数
用于调试代码错误时使用,错误处代码会退出,
-
常用的宏
固有的五中预定义宏:
__DATE__
进行预处理的日期(“Mmm dd yyyy”形式的字符串文字)
__FILE__
代表当前源代码文件的字符串文字
__LINE__
代表当亲源代码中的行号的整数常量
__TIME__
源文件编辑时间,格式 “hh:mm:ss”
__func__
当前所在函数名
对于__FILE__ ___LINE__ __func__
这样的宏调试程序时是很有用的 -
main()函数的参数
argc,参数的个数;
argv[],参数数组; -
快速排序
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void sort(int *a,int left,int right)
{
if(left>=right)
{
return;
}
int i = left;
int j = right;
int key = a[left];
while(i < j)
{
while(i < j && a[j] <= key)
{
j--;
}
a[i] = a[j];
while(i < j && a[i] >= key)
{
i++;
}
a[j] = a[i];
}
a[i] = key;
if(i>left)
sort(a,left,i-1);
if(i<right)
sort(a,i+1,right);
}
int main()
{
int arr[20]={
0
};
srand(time(0));
int i = 0;
for(i =0;i<20;i++)
{
arr[i] = rand()%100;
}
sort(arr,0,19);
for(i = 0;i<20;i++)
{
printf("%d\n",arr[i]);
}
return 0;
}
网友评论