当前位置: 首页 > news >正文

网站建设 外包南开区网站建设公司

网站建设 外包,南开区网站建设公司,比百度好用的搜索引擎,湖北网站建设哪家有专栏#xff1a;C语言 个人主页#xff1a;HaiFan. 专栏简介#xff1a;本专栏主要更新一些C语言的基础知识#xff0c;也会实现一些小游戏和通讯录#xff0c;学时管理系统之类的#xff0c;有兴趣的朋友可以关注一下。 #define预处理预定义符号define#define定义标识符… 专栏C语言 个人主页HaiFan. 专栏简介本专栏主要更新一些C语言的基础知识也会实现一些小游戏和通讯录学时管理系统之类的有兴趣的朋友可以关注一下。 #define预处理预定义符号define#define定义标识符#define定义宏#define替换规则带副作用的宏参数宏的缺点命名约定预处理 预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C其值为1否则未定义define #define定义标识符 语法#define name stuff举个例子 #include stdio.h #define MAX 1000 int main() {printf(%d,MAX);return 0; }注在define定义标识符的时候不要在最后加上 ; 比如#define MAX 1000 这样容易导致一些问题。 #define定义宏 #define机制包括了一个规定允许把参数替换到文本中这种实现通常称为宏macro或定义宏define macro。 下面是宏的声明方式 #define name( parament-list ) stuff //其中的 parament-list 是一个由逗号隔开的符号表它们可能出现在stuff中注意 参数列表的左括号必须与name紧邻。 如果两者之间有任何空白存在参数列表就会被解释为stuff的一部分。 比如#define MUL(x) x*x 这个宏接收一个参数x然后进行x*x的运算。 宏也有值得注意的地方。 #include stdio.h#define MUL(x) x*x*xint main() {printf(%d, MUL(5 1));return 0; }这个代码的结果是216吗 为什么会是16 因为宏是替换。它只是把x替换成了51但是在替换的时候并没有对(51)进行计算。实际上算的是printf(%d, 51*51*51);那么如何解决这个问题呢只需要在宏定义上加上括号即可。 #include stdio.h#define MUL(x) (x)*(x)*(x)int main() {printf(%d, MUL(5 1));return 0; }这样就能达到预期的效果了。 #define替换规则 在程序中扩展#define定义符号和宏时需要涉及几个步骤。 在调用宏时首先对参数进行检查看看是否包含任何由#define定义的符号。如果是它们首先 被替换。替换文本随后被插入到程序中原来文本的位置。对于宏参数名被他们的值所替换。最后再次对结果文件进行扫描看看它是否包含任何由#define定义的符号。如果是就重复上 述处理过程。 注意 宏参数和#define 定义中可以出现其他#define定义的符号。但是对于宏不能出现递归。当预处理器搜索#define定义的符号的时候字符串常量的内容并不被搜索。 带副作用的宏参数 当宏参数在宏的定义中出现超过一次的时候如果参数带有副作用那么你在使用这个宏的时候就可能出现危险导致不可预测的后果。副作用就是表达式求值的时候出现的永久性效果。 x1无副作用 x有副作用#include stdio.h #define MAX(x, y) (x) (y)? (x) : (y) int main() {int a 1;int b 2;int ret MAX(a, b);printf(a%d,b%d,ret%d, a, b, ret);return 0; }这个代码的结果会是什么呢 这里我们得知道预处理器处理之后的结果是什么 ret ( (x) (y) ? (x) : (y));宏是替换直接把x和y替换成了a和b所以会造成上面的问题。 宏的缺点 每次使用宏的时候一份宏定义的代码将插入到程序中。除非宏比较短否则可能大幅度增加程序 的长度。宏是没法调试的。宏由于类型无关也就不够严谨。宏可能会带来运算符优先级的问题导致程容易出现错。 命名约定 宏在命名的时候要把宏名全大写 函数在命名的时候遵循驼峰原则
http://www.hkea.cn/news/14483478/

相关文章:

  • 房产网站制作公司做网站怎么赚钱 做网站怎么赚钱
  • 建网站问题网站的功能规范
  • 15年做哪些网站能致富wordpress修改指向域名
  • 爱站网长尾关键词搜索360社区app
  • 电影网站建设教学视频在做网站编代码网页导航条中的文字出现在导航条的下方怎莫解决
  • 企业网站定制公司全国企业信息查询系统登录
  • 移动端网站开发教案网站建设与管理就业去向
  • 建设银行报考网站新云网站模版
  • 正版win10做win7系统下载网站如何做网站淘宝客
  • 温州网站网站建设wordpress 登录查看
  • 网站 php 源码设计上海2019
  • 北京西站官网主页网站功能方案
  • 怎么做网站前端百度网盟推广 网站
  • 政协 网站建设还能做网站的分类
  • 网站建设 安庆新乐网站制作价格
  • 电子商务网站建设的一般过程html代码自动生成
  • 没有防盗链的网站个人网址是什么
  • 网站建设开发ppt模板下载佛山高端网站
  • 合肥网站建设yjhlw福州做网站哪家好
  • 昆山网站公司哪家好门户网站那个程序比较
  • 广东省建设厅投诉网站首页网站建设流程有哪七步
  • 网站开发和小程序开发区别二手商标网
  • 稳健 安全的网站设计制作手机网站制作器
  • 做网站改变图片位置免费的舆情网站入口有哪些
  • 哪里有制作网站服务竞价外包托管费用
  • 自建站系统凡科登录入口下载
  • 珠海专业机械网站建设wordpress更新很慢
  • 墙蛙网站谁家做的seoul怎么读
  • 广州免费建站哪里有最近最新mv在线观看免费高清
  • 创新的宁波网站建设电子商务职业生涯规划书