第三节
#### main函数 ####
创建main.c文件
#include <stdio.h>
void func(); //函数的声明
int main(int argc, char **argv) //main函数标准类型,argc表示main函数参数的个数;argv表示main函数参数的意义
{
func(); //函数的调用
printf("hello westos.\n");
return 0;
}
void func(void) //函数的定义
{
exit(1);
}
函数三要素:函数的定义;函数的声明;函数的调用
函数里面:返回值;函数名;形参类型
#### main函数传参 ####
创建main_test.c文件
在Linux环境下,main函数的传参是在shell终端进行的。shell命令行每一个参数都是一个字符串
int main(int argc, char **argv)
{
int i = 0;
printf("argc = %d.\n", argc);
if (argc != 2) //如果传入参数不为2个
{
printf("参数错误!");
return 1;
}
//strcmp字符串比较函数;a 和 b ==> a("1234") == b("1234") if成>立
for (i=0; i<argc; i++) //打印每个参数
{
printf("argv[%d] = %s.\n", i, argv[i]);
}
if (0 == strcmp(argv[1], "1")) //比较第二个字符串与"1"字符串大小,相等则执行该输出
{
printf("hello.\n");
}
if (0 == strcmp(argv[1], "2")) //比较第二个字符串与"2"字符串大小,相等则执行该输出
{
printf("world.\n");
}
return 0;
}
#### 函数调用,形参,实参 ####
创建function.c文件,文件内创建了main函数,func函数,func2函数,为了体验函数调用过程
#include <stdio.h>
void func(int a, int b);//函数声明;严格的说main函数应该在最前面,子函数应该在最开始进行函数声明
void func2() //函数定义;严格说,该函数定义应该在main函数定义之后
{
func(1, 2);
}
int main(void)
{
// 声明
int i;
//声明兼且定义
int x = 33;
int y = 44;
printf("x = %d y = %d.\n", x, y);//输出当前x,y的值
//函数调用,x、y就叫做函数实参
//目的:交换x、y的值
func(x, y); //调用func函数,并传入实参,x,y
printf("--------------after------------\n"); //标记用
printf("x = %d y = %d.\n", x, y);
func2(); //调用func2函数
return 0;
}
void func(int a, int b) //func函数定义
{
int temp = 0;
//数据交换
temp = a;
a = b;
b = temp;
printf("in func:a = %d b = %d.\n", a, b);
}
注意:
/*
在终端:man 1:查到都是linux命令;man 2:查到的都是系统API(接口、
函数);man 3:这个C标准库封装的函数
所有的程序运行起来,都在内存(虚拟内存)中运行。内存:实际工作的内
存是虚拟内存。保证各个进程之间是安全的。
*/