//!!!!!!!!!!!数组在main函数传参的时候 外函数 是不能单单用sizeof(a)/sizeof(a[0]) 来求数组大小的 !!!!!!
// 应该在main()函数里面求出数组大小 再用传到外部函数当中 !!!!!!
//一般把函数的声明放在 头文件.h 当中 函数的定义放在 源文件.c 文件当中(右侧工具栏处)
//两个变量相加
(test.c当中的)
#include<stdio.h>
#include"add.h"//引用add.h函数 !!!!! 会拷贝 add,h当中的内容 !!!!!
int main()
{
int a = 10;
int b = 50;
int sum = ADD(a, b);
printf("%d\n", sum);
return 0;
}
(add.h当中的)
#ifndef __ADD_H__ //一开始头文件处要标识 #ifndef __文件名_H__ 与 #define __文件名_H__
//ifndef -如果没有定义过 防止头文件被多次引用 !!!!!
#define __ADD_H__
//在此处打出所需要的函数的 声明!!!!!!!
//后再其函数的 .c 文件当中去实现函数的用途
int ADD(int x, int y);
#endif // #define 结尾处要标明 #endif !!!!!!
(add,c当中的)
int ADD(int x, int y)
{
return x + y;
}
//函数-库函数(C语言本身提供给我们的函数(网站:cplusplus.com 可以查找函数!!!!!);-自定义函数
//zh.cppreference.com/w/首页
//外部调用函数 返回值的类型要一样的 如(int add(int x,int y){int z=0;z=x+y;return z;} -z是int 类型的 所以要返回 函数定义为int类型!!!!!
//外部函数功能是独立的
//"IO"函数 输入输出函数
//自定义函数:返回类型 函数名(函数参数)
//{函数语句(交代函数这么实行)}
/利用外部函数使得两个变量数值交换
//void swap(int *pe, int pa){ //void 无返回值 因为main函数里定义的是指针变量 所以int的是指针变量类型 int_!!!!
// //把a b地址赋给 *pe *pa
// int c = 0;
// c = *pe; //把a的地址赋给c
// *pe = *pa;
// *pa = c;
//}
//int main(){
// int a = 10;
// int b = 20;
// printf("交换前a=%d,b=%d\n", a, b);
// swap(&a, &b);//利用取地址交换 变量数值
// printf("交换后a=%d,b=%d\n", a, b);
//
// return 0;
//}
//函数参数-实参;形参
//实参:常量,变量,表达式,函数。。。 他们必须有确定的值
//形参:函数名后()当中的变量,因为形参只有被调用的过程当中才有实例化,所以叫形参
//当实参传给形参的时候
//形参是实参的一部分临时拷贝
//传值调用:函数的实参和形参分别占有不同的内存块,对形参的修改不影响实参
//传址调用:把函数外部创建的内存地址传递给函数参数的一种调用函数的方式;这种方式可以让函数内部外部建立起真正的联系//先写函数怎么用后去写