c语言基础

                                   基 础 概 括(预处理指令)重点

预处理指令:在代码编译到0跟1之前,所运行的指令。

特点:

1,先进行。

2,以#开头。(所有预处理指令都必须以#开头,宏名必须大写或以K开头)

3,地方随便你写,哪都行。

 

预处理指令的作用域:(预处理指令后不写分号)

从编写指令的那一行到文件结尾。

 

一 宏定义分两种:

1,不带参数的;

2,带参数的;

 

宏名:就是在编译之前把宏名替换成想换的内容。

注意:在双引号里面的“宏名”不会被替换。

#define

#undef(取消宏定义)

 

小语法:#define sum (v1 , v2) ( (v1) + (v2) )  意思是把左面的东西 替换成右边的加法运算。

经验:右边括号里的参数必须把每个参数都用小括号括起来,以防止出现运算错误。

宏定义只负责换代码,纯文本替换。

 

函数在运行时调用,宏定义在翻译前运行,以此宏定义比函数运行运行的性能要好。

 

二 条件编译

条件编译:以#开头,在编译0跟1之前编译。

满足一定条件才可以编译,不满足不要编译。

 

例子:

#define A 10

int main()

{

      #if (A == 10)

         {

              printf("10\n");

          }

      #elif (A == 5)

          {

                printf("5");

          }

         #else

          {

                 printf("其他值");

          }

         #endif  必须加上  #endif表示从这里结束,后面的语句不属于判断范围。

          return 0;

}

如果在第一个条件符合,后面所有的条件都不编译,编译到0跟1.

与原有函数比较,原有函数不管成不成立都先进行编译后在进行比较,条件就是不满足,也都把代码编译了个遍。

以此,条件编译在性能上大大优越于原有函数的性能。

 

三  文件包含

#include<>   <>表示系统自带的文件。

#include"  "   "  "表示自定义的文件。

绝对不允许嵌套包含,循环包含 比如: a包含.h  b包含.h   ,b包含.h  a包含.h。

 

怎样保证在编写代码是,头文件的声明文件,不会被重复拷贝。

方法: #ifndef ABC

            #define ABC

            #endif

这种形式在多文件开发中使用。一般会以自己的文件名为头名。

如:#ifndef Li si _H

       #define Li si _H

       #endif 

注意:文件开头必须大写。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值