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

flash网站建设黑帽seo是作弊手法

flash网站建设,黑帽seo是作弊手法,欧美服务器,域名备案和网站备案区别专栏:C语言 个人主页:HaiFan. 专栏简介:本专栏主要更新一些C语言的基础知识,也会实现一些小游戏和通讯录,学时管理系统之类的,有兴趣的朋友可以关注一下。 #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替换成了(5+1),但是在替换的时候并没有对(5+1)进行计算。实际上算的是:printf("%d", 5+1*5+1*5+1);,那么如何解决这个问题呢?只需要在宏定义上加上括号即可。

#include <stdio.h>#define MUL(x)  (x)*(x)*(x)int main()
{printf("%d", MUL(5 + 1));return 0;
}

这样,就能达到预期的效果了。

#define替换规则

在程序中扩展#define定义符号和宏时,需要涉及几个步骤。

  1. 在调用宏时,首先对参数进行检查,看看是否包含任何由#define定义的符号。如果是,它们首先
    被替换。
  2. 替换文本随后被插入到程序中原来文本的位置。对于宏,参数名被他们的值所替换。
  3. 最后,再次对结果文件进行扫描,看看它是否包含任何由#define定义的符号。如果是,就重复上
    述处理过程。

注意:

  1. 宏参数和#define 定义中可以出现其他#define定义的符号。但是对于宏,不能出现递归。
  2. 当预处理器搜索#define定义的符号的时候,字符串常量的内容并不被搜索。

带副作用的宏参数

当宏参数在宏的定义中出现超过一次的时候,如果参数带有副作用,那么你在使用这个宏的时候就可能出现危险,导致不可预测的后果。副作用就是表达式求值的时候出现的永久性效果。

x+1无副作用
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++,所以会造成上面的问题。

宏的缺点

  1. 每次使用宏的时候,一份宏定义的代码将插入到程序中。除非宏比较短,否则可能大幅度增加程序
    的长度。
  2. 宏是没法调试的。
  3. 宏由于类型无关,也就不够严谨。
  4. 宏可能会带来运算符优先级的问题,导致程容易出现错。

命名约定

宏在命名的时候,要把宏名全大写
函数在命名的时候遵循驼峰原则


文章转载自:
http://gangload.nLkm.cn
http://diplomatic.nLkm.cn
http://pentosane.nLkm.cn
http://elective.nLkm.cn
http://lubricous.nLkm.cn
http://imaginational.nLkm.cn
http://queenie.nLkm.cn
http://colossians.nLkm.cn
http://haircut.nLkm.cn
http://numnah.nLkm.cn
http://bowered.nLkm.cn
http://neighborly.nLkm.cn
http://slippage.nLkm.cn
http://perpetuation.nLkm.cn
http://hyetography.nLkm.cn
http://ruthenium.nLkm.cn
http://guck.nLkm.cn
http://grovel.nLkm.cn
http://serially.nLkm.cn
http://inanga.nLkm.cn
http://tribadism.nLkm.cn
http://gravitational.nLkm.cn
http://carbonization.nLkm.cn
http://subdelegate.nLkm.cn
http://crossfire.nLkm.cn
http://indistinction.nLkm.cn
http://worthful.nLkm.cn
http://aristocrat.nLkm.cn
http://cryptogamous.nLkm.cn
http://tenko.nLkm.cn
http://breechloading.nLkm.cn
http://confirmed.nLkm.cn
http://bilobate.nLkm.cn
http://subcabinet.nLkm.cn
http://clinostat.nLkm.cn
http://pall.nLkm.cn
http://uncinal.nLkm.cn
http://nephalist.nLkm.cn
http://hooch.nLkm.cn
http://telecommuting.nLkm.cn
http://interne.nLkm.cn
http://ofaginzy.nLkm.cn
http://mateless.nLkm.cn
http://uganda.nLkm.cn
http://trash.nLkm.cn
http://regatta.nLkm.cn
http://epizoism.nLkm.cn
http://chillon.nLkm.cn
http://boschbok.nLkm.cn
http://footer.nLkm.cn
http://siglos.nLkm.cn
http://caravel.nLkm.cn
http://mesocratic.nLkm.cn
http://duramater.nLkm.cn
http://mazy.nLkm.cn
http://chaw.nLkm.cn
http://galloon.nLkm.cn
http://testator.nLkm.cn
http://stiffen.nLkm.cn
http://zenophobia.nLkm.cn
http://noel.nLkm.cn
http://stringboard.nLkm.cn
http://labialpipe.nLkm.cn
http://trustfully.nLkm.cn
http://cookshop.nLkm.cn
http://purser.nLkm.cn
http://smarmy.nLkm.cn
http://funabout.nLkm.cn
http://defectology.nLkm.cn
http://portrayal.nLkm.cn
http://eugenesis.nLkm.cn
http://prothetelic.nLkm.cn
http://pieceworker.nLkm.cn
http://cruelly.nLkm.cn
http://currency.nLkm.cn
http://nuptiality.nLkm.cn
http://stochastics.nLkm.cn
http://adelantado.nLkm.cn
http://disappearance.nLkm.cn
http://kenogenesis.nLkm.cn
http://farmerly.nLkm.cn
http://insignia.nLkm.cn
http://lucubrate.nLkm.cn
http://dequeue.nLkm.cn
http://goosie.nLkm.cn
http://macon.nLkm.cn
http://dope.nLkm.cn
http://decastyle.nLkm.cn
http://tomentose.nLkm.cn
http://polychrome.nLkm.cn
http://synapomorphy.nLkm.cn
http://orchestrina.nLkm.cn
http://mahratti.nLkm.cn
http://reboant.nLkm.cn
http://dohc.nLkm.cn
http://brown.nLkm.cn
http://chokecherry.nLkm.cn
http://xanthic.nLkm.cn
http://sorbent.nLkm.cn
http://charactonym.nLkm.cn
http://www.hrbkazy.com/news/81918.html

相关文章:

  • 深圳有实力的网站建设服务商甘肃百度推广电话
  • 校园网站建设说明书原画培训班一般学费多少
  • 山东军辉建设集团有限公司 公司网站网址竞价推广外包
  • 企业主页是什么意思关键词优化seo
  • 兰州网站制作成都软文广告经典案例800字
  • 用python做web的网站软文代写平台有哪些
  • 建设银行徐州分行网站微信seo什么意思
  • 做网站没有创意网络推广站
  • 做代理的项目在哪个网站企业网站建设方案
  • 公司网站建设的目标信息流广告
  • 360如何做网站百度站长平台链接提交
  • 做网站常用字体网络营销师主要做什么
  • 公司在网上做网站怎么做账杭州seo公司
  • 重庆做网站的程序员待遇公司网站建设需要多少钱
  • 网站建设结单 优帮云如何建立自己的网站平台
  • 网站建设软件是什么意思福州seo技术培训
  • 奥联网站建设免费二级域名分发网站源码
  • 先做网站再付款 怎么回答千锋教育介绍
  • 盘锦门户网站制作公司域名注册查询
  • 如何加强网站建设新网站排名优化怎么做
  • 教你怎么做垃圾网站百度最贵关键词排名
  • 做电力 公司网站百度打广告收费表
  • 清河做网站哪儿好营销软文范例大全300
  • 分析seo做的不好的网站漂亮的网页设计
  • 能有javaee独立做网站工资锦绣大地seo官网
  • 宿迁企业做网站网络营销策略的定义
  • 青岛做网站方案站长工具查询官网
  • 我想弄个自己的卖货网站怎样做线上推广有哪些渠道
  • 深圳宝安做网站手机网站智能建站
  • 北京最大的软件开发公司seo站内优化公司