C语言学习笔记12

本文深入探讨了C语言中的预处理指令,包括宏定义、条件编译的应用及多文件程序编写的基本原则等内容。
回顾:
    1.位置指针
   
作业:
    1.id判断
    2.根据id显示人员信息
   
预处理指令是C语言支持的一种特殊指令
它们以#做开头,不以;做结尾
预处理指令在编译的第一个阶段被处理
所有预处理指令都是把程序变成另外的样子
gcc可以使用-E选项单独处理所有预处理指令
#define是一个预处理指令
这个预处理指令用来定义宏
宏定义可以给数字起名称
定义宏时不要使用=和;
宏名称中不应该有空格
宏和变量在计算机里的处理方式完全不同
可以在gcc命令行中使用-D选项定义宏
可以定义使用参数的宏
宏的参数都没有数据类型
宏的参数个数任意
宏的参数不一定代表一个数字
宏没有返回值变量
宏只能使用三目运算符完成复杂的计算
宏的参数没有形参和实参的区别
编写宏的时候应该在每个代表数字的参数以及整个计算结果外边都加上括号
不用用自增或自减的计算结果作为宏的参数
宏操作符#和##
都需要和宏的参数配合使用,这个参数通常不是用来表示数字的
#可以把宏的某个参数转化成字符串字面值
##可以把一个代表名字的参数和其它内容合并得到一个新名字
条件编译可以只编译源程序中的某一部分代码
条件编译是使用某些预处理指令实现的
使用如下语句
#ifdef/#ifndef....#else....#endif
可以根据某个宏是否被定义过把语句分成两组以实现条件编译
#if ... #elif ... #elif ... #else ... #endif
以上结构也是一种实现条件编译的方法
可以根据任何逻辑表达式区分
可以有多个分支
多文件程序编写的基本原则
1.为每个.c源文件编写一个对应的.h头文件,头文件中包含.c源文件中所有函数的声明
2.在每个.c源文件中包含对应的头文件
3.如果某个.c源文件中使用到了某个.h头文件中声明的函数则也需要包含这个头文件
在gcc命令中包含多个.c源文件名就可以编译多文件程序
头文件中应该使用条件编译避免多次编译
使用extern关键字声明全局变量可以让源文件使用其他源文件声明的全局变量
结构体可以用来把多个不同类型的变量合并成一个整体
作业:
    1.编写结构体表示屏幕上的一个点,
    再编写结构体表示屏幕上的一个矩形。
    编写函数计算一个矩形的面积
    2.编写一个结构体表示一个月的
    信息(名称,天数)
    用这个结构体表示一年中的所有月,并
    把他们都打印在屏幕上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值