#define,源文件与头文件,赋值表达式

目录

1.#define

1.1定义

1.2使用  

1.2.1 #define 可以定义常量

1.2.2 #define 可以定义宏函数

1.2.3 #define可以用来条件编译

 2.头文件与源文件

一、文件扩展名与用途

二、内容与结构

 3.赋值表达式的返回值


1.#define

1.1定义

#define 是一个预处理指令,用于定义宏

,是预处理阶段(在编译之前)由预处理器处理的代码片段

1.2使用  

1.2.1 #define 可以定义常量

#define PI 3.14159

1.2.2 #define 可以定义宏函数

#define SQUARE(x) ((x) * (x)) 

定义宏函数时的注意事项:

(1)参数x的括号要紧挨着函数名

(2)函数的内容,即表达式中,不要吝啬括号

防止运算律出错

(3)宏函数不检查类型,一般只用于构建简单函数

1.2.3 #define可以用来条件编译

 2.头文件与源文件

一、文件扩展名与用途

(1)头文件

(1.1) 通常以".h"为后缀

(1.2)主要用于声明接口,如函数声明、宏定义、结构体定义、类型定义等

(1.3)可以被多个源文件包含,实现代码的重用和模块化

(2)源文件

(2.1)通常以".c"为后缀

在C++中,源文件通常以“.cpp”为后缀,但C语言中一般使用“.c”

(2.2)主要用于实现功能,包含函数的具体实现、全局变量的定义等

(2.3)源文件是编译器生成可执行文件的基础

二、内容与结构

(1)头文件

通常包含以下内容:

  • 函数声明:告诉编译器函数的名称、返回类型和参数类型
  • 宏定义:使用#define指令定义常量或宏
  • 结构体定义:定义数据结构的布局
  • 类型定义(typedef):为现有类型定义新的名称
  • 头文件应该避免包含全局变量的定义,因为全局变量在多个源文件中共享可能会导致链接错误

(2)源文件

通常包含以下内容:

  • 函数实现:提供函数的具体实现代码。
  • 全局变量定义:定义在程序范围内有效的变量。
  • 局部变量定义:在函数或代码块内部定义的变量。
  • 程序逻辑:实现程序的具体功能和算法。

总结:

头文件提供了程序的接口声明和宏定义等

源文件实现了这些接口定义了程序的具体逻辑

 3.赋值表达式的返回值

赋值表达式有返回值

赋值表达式执行赋值操作,即将右侧的值赋给左侧的变量

赋值表达式本身也具有一个值,这个值就是被赋给左侧变量的那个值 

a = 5 这个赋值表达式的返回值就是5

所以 b = 5

总结:

赋值表达式在C语言中是有返回值的

这个返回值就是被赋给左侧变量的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值