day10

宏常量

#define 宏名 常量

宏在使用时,是原样替换

宏函数   

#define 宏函数名(参数1,参数2) 表达式

字符串化运算符#

如果在宏调用时,需要把参数转换为字符串去处理,需要在参数前添加#

不定参数宏

C99标准中规定,允许用户定义有省略号的宏。省略号必须放在参数列表的后面,表示可选参数。你可以用可选参数来调用这类宏。在代码中用...代表。他们被保存到__VA_ARGS__中.__VA_ARGS__ : 用于在宏替换部分中,表示可变参数列表;

条件编译

一,命令行参数

其中 argc是命令行中参数的个数

args分别代表命令行中的参数

新代码注释

格式1

格式2

宏是否定义的判断

格式1

格式2

注意:条件编译在多文件编程中经常会用到

typedef

 给一个已经存在的类型取别名,可以通过别名来定义变量

多文件编程

extern功能 :声明变量或函数是来源于其他文件的全局变量或局部变量

使用方法

gcc *.c同时编译多个文件

多文件编程框架

自己定义的头文件用双引号,系统定义的用箭头     #include“head.h“

1. 头文件 xxx.h

2. 功能文件 : xxx.c主要存放用户编写的逻辑代码函数,不包括main函数

3. 组合逻辑的文件 : main.c用于组合功能文件提供的函数接口

添加#ifndef的必要性

会导致x和y的重复定义(在head1中定义了一次,在head2中又定义了一次)

结构体类型的声明

结构体是一些值的集合,这些值称为成员变量。结构体的每个成员可以是不同类型的变量。

结构体成员可以是普通变量,数组,指针,甚至是其它的结构体。

结构体变量及初始化

使用结构体类型,创建该类型对应的结构体变量

{

        struct ***(结构体标签) stu;

        strcpy(stu.**,"***");

       stu.***= 30;

       stu.**** = 8;

}

特殊的声明

在声明结构体的时候,可以不完全声明

声明了一种结构体,实际上就是定义了一种类型(自定义数据类型)

结构体是一种复杂的数据类型,是自定义数据类型

推荐赋值方法

结构体的自引用

在结构体中不能包含一个类型为该结构体本身的成员

正确的自引用方式为存放结构体指针类型的变量

结构体成员访问

注意:修改结构体变量的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值