黑马程序员_iso入门基础学习_C语言day7


一、预处理指令:在将代码翻译成01之前执行的命令

1.预处理指令都是以#开头

2.预处理指令位置可以随便写

3.预处理指令的作用域,从编写指令的那一行到文件结束

4.预处理指令包括3种:

4.1 宏定义:   只是将代码替换,并不会计算

无参数的宏定义:#define 宏名(大写) 值:将宏名替换成值

带参数的宏定义:#define 宏名(参数) (参数)   文本替换

注意:带参数的宏定义要将参数和结果都加上括号

#undef 宏名   结束宏定义

4.2条件编译:有条件的编译代码,一般参与判断的是宏

#if

#elif

#else

#endif  如果endif不加,else后面的代码全部不被编译,包括大括号

#if defined A  等价于  #ifdef A    如果定义了宏A

#if !denfined A 等价于 #ifndef A   如果没有定义宏A

4.3文件包含

#include <系统自带> "自定义"

防止重复的包含复制:

#ifndef   XXX_H     宏名为头文件的文件名

#define  XXX_H

函数声明

。。。。

。。。。

#endif


二、typedef :给类型取新的类型名称,一般用于比较复杂的类型名,比如结构体,枚举类型,指针类型

typedef struct Person

{

int age;

}  Sperson;   定义了一个结构体类型Person,并且取新名称

Sperson。


typedef enum sex

{

男,女

} Msex;    定义了一个枚举类型sex,取新名称为Msex


三、extern和static:

针对函数:

extern定义和声明外部函数:默认都是外部函数,所以可以省略,同一个项目,不同文件的函数不可重名

static定义和声明内部函数:不能直接调用,不能省略。不同文件的内部函数可以重名


针对变量:

全局变量:

1.外部变量:全局变量默认都是外部变量,不同文件重复定义一个重名的变量都是同一个变量。

2.内部变量:只能本文件中访问,不同文件的同名变量,不是同一个变量

extern:声明一个外部变量,不可省略

static:定义一个内部变量


局部变量:

static修饰局部变量唯一的作用就是改变局部变量的生命周期,直到程序结束才会被释放。但是不会改变局部变量的作用域。如果函数内部的局部变量,那么调用这个函数N次,所有调用的函数都共享这个变量。



四、递归:函数自己调用自己,必须有一个明确的返回值


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值