C语言回顾-语法基础
序言
有快6年没写C语言了,现在需要搞TEE,重拾C语言。
简单的main函数
#include <stdio.h> // 引入IO标准库
// argv 为终端运行main时的参数个数(包含main本身)
// argc 终端运行main时输入的具体参数值
int main(int argv,char *argc[])
{
for(int i = 0;i<argv;++i){
printf("argc[%d] is %s \n",i,argc[i]);
}
fprintf(stdout,"please input a num: \n"); // 等价于 printf("please input a num: \n");printf默认是标准输出
int num; // 定义一个变量,接受标准输入(键盘输入)
fscanf(stdin,"%d",&num); // 标准输入,等价于 scanf("%d",&num);
fprintf(stdout,"input num is %d \n",num);
return 0; // 0表示成功,其它整形表示失败
}
C文件间的包含关系
1.创建max.c、max.h、min.c、min.h、change.c、change.h、main.c
文件,在main.c
中引入change、min
和max
方法。
2.change.h、min.h
和max.h
是注明change.c、min.c
和max.c
中怎么使用,理论上可有可无(有的话需要引用)。
创建Makefile
,编译多个文件
change.c
// 指针的用法
void change(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
change.h
void change(int *a,int *b);
min.c
int min(int a,int b)
{
if(a < b){
return a;
}else{
return b;
}
}
min.h
int min(int a,int b);
max.c
int max(int a,int b)
{
if(a > b){
return a;
}else{
return b;
}
}
max.h
int max(int a,int b);
main.c
#include <stdio.h>
#include "min.h"
#include "max.h"
int main(int argv,char *argc[])
{
frpintf(stdout,"please input a and b \n");
int a;
int b;
scanf("%d",a);
scanf("%d",b);
int c = a + b;
printf("a + b = %d\n",c);
int minNum = min(a,b);
int maxNum = max(a,b);
fprintf(stdout,"min is %d,max is %d \n",minNum,maxNum);
}
Makefile
# main.out依赖max.o、min.o、main.c,并使用gcc max.o min.o main.c -o main.out命令得到main.out
main.out:max.o min.o main.c
gcc max.o min.o main.c
# max.o依赖于max.c,并使用gcc -c max.c -o max.o命令得到max.o
max.o:max.c
gcc -c max.c
# min.o依赖于min.c,并使用gcc -c min.c -o min.o得到min.o
min.o:min.c
gcc -c min.c
# change.o依赖于change.c,并使用gcc -c change.c -o change.o 得到change.o
change.o:change.c
gcc -c change.c
编译
make
得到main.out
,运行main.out
./main.out