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

阜新网站建设seo优化关键词放多少合适

阜新网站建设,seo优化关键词放多少合适,wordpress 用户反馈,做网站要学的技术前言&#xff1a; 最基本的#define定义方式 #define可以定义宏&#xff0c;这点相信大家并不陌生&#xff0c;其定义的方式十分简单&#xff0c;给大家随便来一个最简单、最基础的定义方式看看&#xff1a; #include<stdio.h> #define a 3 int main() { printf(&quo…

前言:   

最基本的#define定义方式 

           #define可以定义宏,这点相信大家并不陌生,其定义的方式十分简单,给大家随便来一个最简单、最基础的定义方式看看:

#include<stdio.h>
#define a 3
int main()
{
printf("%d",a);
return 0;
}

        在这个代码中,我们使用#define定义了a为3,然后我们在主函数中打印a的值,注意,我们不需要创建a这个变量,就可以直接将a打印,并且语法完全正确,没有任何警告和报错,看似十分的神奇,但这就是#define定义宏的最简单的定义方式。 

稍加难度的定义方式

        显而易见的是,这种定义方式未免有点太简单了,所以说能够实现的功能和使用的环境也是十分简单的,但我们就了解这种简单的方式是远远不够的,我们需要稍加深入的探讨一下#define的定义方式:

#include<stdio.h>
#define sum(a,b) a+b
int main()
{int x, y;scanf("%d%d", &x, &y);printf("%d", sum(x, y));return 0;
}

        这就有点初步具有宏的样子了,我们定义sum,需要的值是a和b,然后sum为a+b;这是什么意思呢,其实不难——编译器将我们的代码跑起来需要经过预处理、汇编、链接等复杂的步骤,这其中的内容很丰富,我具体没有深入的研究,但是有一点可以确定——在预处理的时候,编译器就自动将我们#define定义的宏给替换了,就用这个代码来说说——我们写到sum(x,y),在预处理的时候,编译器就会自动的将其改为sum(x,y)==a+b,(a就是x,b就是y),所以说sum(x+y)=x+y;打印的自然就是x+y的值了。

#define中也可以包含函数 

        define中是可以包含函数的,举个例子:

#include<stdio.h>
#define a printf("hehe")
int main()
{a;return 0;
}

        当我们使用a的时候,在预处理的时候编译器就会将a改为printf("hehe");所以说就会打印hehe,还是十分的神奇,但注意一点,#define虽然可以包含函数,但绝对不能进行递归操作!

 

再加点难度的#define宏

        让我们再开动一下脑筋,加一点难度:

#include<stdio.h>
#define sz(type) printf("hehe\t"#type"的大小为%d\n",(int)sizeof(type))
int main()
{sz(char);return 0;
}
//#define num(a,type) printf("thenumberis"#a"="#type,a)
//int main()
//{
//	num(2,%d);
//	return 0;
//}

        我们给sz这个宏传的是type(数据类型),然后通过sizeof操作符(注意:sizeof是操作符,不是函数)算出其大小,并通过printf打印,#define其实是起到了一个替换的作用,在printf中打印#type就会被替换为你传过去的东西,所以这串代码打印出来就是:

         同样的道理,下面一个程序,我们传过去一个数字,和打印的格式,预处理之后,就会被替换成你传的数字和你想要打印的格式,十分的方便。

#define的特殊用法

1.## 

        介绍一下#define中特殊的用法——##(我认为算是特殊用法)

#define like(a,b) a##b
int main()
{int hah = 520;printf("%d", like(ha, h));return 0;
}

        这个程序会输出520,我们看宏——传的是两个值a、b,而a##b的意思是将二者连起来,相当于ab(如果ab是两个字符串的话),我们在主函数中定义变量hah为520,然后打印like(ha,h),显而易见的是,经过宏,就已经成了hah ,而hah就是520,所以说自然会打印出520。而我们也可以知道##就是起到一个连接的作用。

2.类似if和else的用法

        这个我不想多讲,因为我不知道在实际运用中有什么价值,还挺别扭的:

int main()
{
#if 2==3printf("haha");
#endif
#if 2!=3printf("hehe");
#endif
}

        这个#if其实和if很像啊,我就是像理解if一样来理解#if的,但有点不同:首先、有了#if就一定要有#endif,不然编译器会报错;其次、#if不能有变量之间的运算,所以说#if完全没用if使用起来方便。

后记 

        其实说了这么多,也学了这么多,我总感觉#define定义宏和函数的调用有什么异曲同工之妙,但其实想想各有优劣吧:#define适合定义一些简单的运算,当遇到一些简单的代码,推荐使用#define定义宏来写。但#define完全不能进行复杂的代码编写(不是说电脑不行,当写了复杂的定义,你自己会晕);函数能完整的调用,运行,返回值,但是面对简单的代码时,效率不如#define——因为函数的调用和返回值需要耗时间,但define在预处理的时候就已经将代码替换了。

所以说遇到复杂代码推荐使用函数。“因地制宜,因材施教”将#define和我们学过的知识所结合,才能够让我们的编程变得越来越好。

 

http://www.hkea.cn/news/25172/

相关文章:

  • 今日头条建站工具何鹏seo
  • wordpress 培训模板优化落实疫情防控新十条
  • 关于做外汇现货的网站太原整站优化排名外包
  • 星悦做任务网站是新网站百度收录
  • 十大营销网站seo关键词查询工具
  • 怎么查询网站所有关键词靠谱的广告联盟
  • 超酷的网站设计磁力搜索引擎
  • 网站建设写程序用什么软件成都疫情最新消息
  • 做网站需要什么资金2022今天刚刚发生地震了
  • 建设网站费用主要包括哪些google商店
  • 专注邯郸建设手机网站贴吧友情链接在哪
  • 网站备案拍照背景志鸿优化网官网
  • 网站百度知道怎么做推广网站搜索引擎优化的方法
  • 网站建设注意哪些问题sem和seo是什么职业岗位
  • 一_建设网站前的市场分析奶茶软文案例300字
  • 做网站智能工具江阴企业网站制作
  • 怎么看网站有没有做推广大数据营销系统多少钱
  • 广东工厂搜索seoseo平台优化服务
  • 网站开发平台 eclipseseo网站推广案例
  • 什么网站做调查能赚钱关键词优化报价推荐
  • 网站开发职业认知小结开发一个app平台大概需要多少钱?
  • 装修公司全包项目seo搜索引擎实训心得体会
  • 爱站网是干什么的长沙关键词排名首页
  • wordpress 教垜四川seo推广公司
  • 东莞市阳光网青岛seo服务
  • 网站弹窗在中间位置企业培训师
  • 整站下载器 安卓版域名解析查询站长工具
  • 跨境自建站模板seo推广是做什么
  • 网站建设与网页设计报告网络营销师报名入口
  • 生成前端页面的网站东莞网络营销全网推广