c语言函数复习

声明、定义、调用

容易混淆的是声明和定义
1、声明:C语言编译系统是由上往下编译的,如果函数是放在主函数后面的,没有声明,是调用不了的,因为c语言是从main函数开始执行,main函数结束,C语言的最大优点是编译后代码运行效率接近汇编程序,速度快,资源占用少。因此早期很多重要应用软件、支撑软件甚至系统软件是用C语言编写。
就像变量要事先声明,然后才能识别出来。
声明由三个部分组成

  1. 函数的返回类型
  2. 函数名
  3. 形参列表
    传入两个参数a,b,int类型,函数名字fun,形参是指函数定义时候的使用的参数,接受调用函数时的参数值。
int fun(int a,int b);

函数声明是一个语句,末尾1需要加;

2、定义
返回类型,函数名,形参列表
{函数体}


int fun(int a,int b)
{ 
  int c;
  c=a+b;
  return c;
 }

声明不需要开辟内存空间,而定义需要开辟空间,定义只有一次,声明有多次。

CCS代码

shift+Tab键补全,必须写完上一个语句,下面才可以补全;
补全的Uint32,和Uint32_t。
Uint32_t表示使用typedef定义的Uint32

在头文件.h中声明函数,不要写函数实现,源文件使用include包含相当于把头文件中声明拷贝过去,源文件中不需要声明了,.h如果放函数实现,会报函数重复定义错误,因为不知道使用哪个头文件,这两个头文件其实是一样的,但是因为include他的函数不同,所以编译器不知道。

结构体

struct +结构名+对象名

struct CONP
{
bool CurrLFlag;
bool CurrLEnFlag;
Unit16 PIfactor;
};

这步叫声明结构体变量,CONP叫结构体名,里面的bool int 叫成员列表,这时系统不会为它分配内存,因为他就是个类似int char的东西,只是打包了一些常用变量类型,方便大量类似对象的使用,如学生职员的信息录入。
但是他没有定义变量,如int a;int xas;…不同学生肯定不同代号名字,在旧的c语言中,定义结构体新变量时:(需要加上struct)
注意不是声明,已经声明过了,现在定义新变量。

struct CONP a;
格式上等价于
int a;

新的c++中直接

CONP a

某个程序员写多了这段类似程序,发现struct老是打一遍,发明了:
typedef struct CONP
{
bool CurrLFlag;
bool CurrLEnFlag;
Unit16 PIfactor;
}CONP1;
然后用CONP1就可以直接定义新变量。

带有#的指令,预处理,编译前进行处理,由软件执行

#include 包含其他头文件

#define 宏定义

#ifdef
	程序
#else
	程序
#endif
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值