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

在网站建设中要注意的问题高端网站设计工作室

在网站建设中要注意的问题,高端网站设计工作室,联系导师邮件模板,wordpress标签小工具栏define #define命令是C语言中的一个宏定义命令#xff0c;它用来讲一个标识符定义为一个字符串#xff0c;该标识符被称为宏名#xff0c;被定义的字符串称为替换文本。该命令有两种格式#xff1a;一种是简单的宏定义#xff08;不带参数的宏定义#xff09;#xff0…define #define命令是C语言中的一个宏定义命令它用来讲一个标识符定义为一个字符串该标识符被称为宏名被定义的字符串称为替换文本。该命令有两种格式一种是简单的宏定义不带参数的宏定义另一种是带参数的宏定义。 格式#define 宏名/标识符 字符串 eg:#define PI 3.1415926 说明 ①宏名一般用大写 ②宏定义末尾不加分好; ③可以用#undef命令终止宏定义的作用域 ④宏定义可以嵌套 ⑤字符串“”中永远不包含宏 ⑥宏替换在编译前进行不分配内存变量定义分配内存函数调用在编译后程序运行时进行并且分配内存 ⑦预处理是在编译之前的处理而编译工作的任务之一就是语法检查预处理不做语法检查 ⑧使用宏可提高程序的通用性和易读性减少不一致性减少输入错误和便于修改。例如数组大小常用宏定义 2 带参数的宏定义除了一般的字符串替换还要做参数代换 格式#define 宏名(参数表) 字符串 eg:#define S(a,b) a*b areaS(3,2); 第一步被换为areaab;第二步换为area32; 一个标识符被宏定义后该标识符便是一个宏名。这时在程序中出现的是宏名在该程序被编译前先将宏名用被定义的字符串替换这称为宏替换替换后才进行编译宏替换是简单的替换。 使用带参数的宏定义可完成函数调用的功能又能减少系统开销提高运行效率。宏定义可完成简单的操作但复杂的操作还是要由函数调用来完成而且宏定义所占用的目标代码空间相对较大在使用时要根据具体情况来看。 枚举 enum是C语言中的一个关键字enum叫枚举数据类型枚举数据类型描述的是一组整型值的集合这句话其实不太妥当枚举型是预处理指令#define的替代枚举和宏其实非常类似宏在预处理阶段将名字替换成对应的值枚举在编译阶段将名字替换成对应的值 enum DAY { MON1, TUE, WED, THU, FRI, SAT, SUN };需要注意的两点是 枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的不能再定义与它们名字相同的变量。Mon、Tues、Wed 等都是常量不能对它们赋值只能将它们的值赋给其他的变量。 枚举和宏其实非常类似宏在预处理阶段将名字替换成对应的值枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。 /* 定义枚举类型 */ enum DAY { MON1, TUE, WED, THU, FRI, SAT, SUN }; void main() { /* 使用枚举类型声明变量再对枚举型变量赋值 */ enum DAY yesterday, today, tomorrow; yesterday MON; today TUE; tomorrow WED;枚举变量的大小 枚举类型在存储时是按照int型存储的在我的系统中也就是4字节方式存储 枚举与#define 宏的区别 1#define 宏常量是在预编译阶段进行简单替换。枚举常量则是在编译的时候确定其值。所以枚举可以进行类型检查 2一般在编译器里可以调试枚举常量但是不能调试宏常量。 3枚举可以一次定义大量相关的常量而#define 宏一次只能定义一个。 const const是constant的简写用来定义常量它限定一个变量不允许被改变产生静态作用。const最开始推出的目的是为了取代预编译指令取长补短。 与define的对比 define是预编译指令定义的宏是在预处理阶段展开的而const是普通变量的定义是只读变量且是在编译运行阶段使用的。 define定义的是常量define定义的宏在编译后消失了它不占用内存而const定义的常变量本质上仍然是一个变量具有变量的基本属性有类型、占用存储单元除了不能作为数组的长度用const定义的常变量具有宏的优点而且使用更方便。 define定义的对象没有数据类型编译器只能机械地进行字符替换没有类型安全检查即会出现“边际问题”或者是“括号问题”。而const定义的是变量有数据类型。 如果一定要用全局变量应该尽量的使用const进行修饰防止不必要的人为修改使用 const 修饰过的局部变量就有了静态特性它的生存周期也是程序运行的整个过程虽然有了静态特性但并不是说它变成了静态变量。 const类对象只能调用const成员函数 内联 在C语言中如果一些函数被频繁调用不断地有函数入栈即函数栈会造成栈空间或栈内存的大量消耗。 为了解决这个问题特别的引入了inline修饰符表示为内联函数。 栈空间就是指放置程式的局部数据也就是函数内数据的内存空间在系统下栈空间是有限的假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。。 关键字inline 必须与函数定义体放在一起才能使函数成为内联仅将inline 放在函数声明前面不起任何作用。 inline只是一种建议真正用不用得靠编译器来决定而且inline只适合涵数体内代码简单的函数数使用不能包含复杂的结构控制语句例如while、switch并且内联函数本身不能是直接递归函数。 内联是以代码膨胀复制为代价仅仅省去了函数调用的开销从而提高函数的执行效率。如果执行函数体内代码的时间相比于函数调用的开销较大那么效率的收获会很少。另一方面每一处内联函数的调用都要复制代码将使程序的总代码量增大消耗更多的内存空间。 内联函数是在编译时展开而宏在预编译时展开在编译的时候内联函数直接被嵌入到目标代码中去而宏只是一个简单的文本替换。 内联函数可以进行诸如类型安全检查、语句是否正确等编译功能宏不具有这样的功能宏不是函数而inline是函数
http://www.yutouwan.com/news/468589/

相关文章:

  • 做网站策划需要用什么软件好的俄文网站设计
  • 企业网站建设国内外差异上海虹口网站建设公司
  • 现在网站开发语言韩国的汽车设计网站
  • 邯郸建立网站费用wordpress中文免费企业模板
  • 网站怎么做熊掌号银川网站建设设计
  • 苏州seo网站管理wordpress免费主
  • 广东微信网站建设价格网站案例欣赏
  • 互联网优化是什么意思北京seo代理商
  • 网站正在建设模板wordpress 阅读量
  • 延安城乡建设规划局网站做网站的时候怎么把图片往左移
  • 张掖网站建设公司盐城市建设银行网站
  • 镇江大港南站市场推广方式有哪几种
  • 网站源模板开淘宝店怎么做充值网站
  • 中国铁道建设协会网站霍山网站建设
  • 制作视频软件哪个好如何优化关键词提升相关度
  • 公司建网站怎么弄网站空格键代码
  • 群晖做自己的电影网站flash网站建设教程视频
  • 网站设计师发展方向万网注册的网站长时间不能访问是不是被封了
  • 自己想做网站怎么做广州市人口
  • 创新的龙岗网站建设php网站开发技术代码
  • 海南三亚做网站阳江房产网站
  • 苏州老字号企业官方的网站策划书微信公众号与网站绑定
  • 个人网站流程正规微商平台
  • 网站是如何建设的wordpress 截断插件
  • 网站审核备案 几天玄天教学网站建设
  • 网站开发 文学在中国如何申请域名
  • 临沂h5建站怎么注册域名网站
  • php网站伪静态wordpress无插件自动实现tag关键字内链
  • 电脑记事本做网站wordpress不同分类文章不同模板
  • 医疗器械网站素材如何做直播类网站