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

建设部网站首页格式合同页面模板 公众号

建设部网站首页格式合同,页面模板 公众号,厦门seo排名外包,手机怎样使用域名访问网站C和C的关系 C继承了所有C语言的特性#xff1b;C在C的基础上提供了更多的语法和特性#xff0c;C语言去除了一些C语言的不好的特性。C的设计目标是运行效率与开发效率的统一。 变化一#xff1a;所有变量都可以在使用时定义 C中更强调语言的实用性#xff0c;所有的变量…C和C的关系 C继承了所有C语言的特性C在C的基础上提供了更多的语法和特性C语言去除了一些C语言的不好的特性。C的设计目标是运行效率与开发效率的统一。 变化一所有变量都可以在使用时定义 C中更强调语言的实用性所有的变量都可以在需要使用时定义。我们都知道C语言都必须要在作用域之前的位置定义否则会报错。 引申概念什么是作用域 通常我们在写代码的时候所用到的名字并不是有效/可用的限定变量或者函数的名字的可用性的代码范围就叫作用域。全局变量作用域就是整个文件加了extern声明之后作用域就可以为整个工程空间使用。局部变量的作用域就是本函数内用完即丢弃。 范例 #include stdio.h #include stdlib.h int main(void) {int c 0;printf(Begin...\n);for(int i0; i 10; i) //在C语言中变量定义需要在函数开始不能在使用的地方定义。{for(int j 0; j 10; j){c i*j;}}printf(c %d\n, c);printf(End...\n);return 0; }C编译器也可以编译C代码通过Dev-C软件分别创建C工程和C工程C工程可以编译passC工程报错如下 注意使用ubuntu gcc编译能编译通过因为Dev-C 的C编译器和GUN gcc 编译器遵循的标准不一样。GUN gcc 对标准C进行了扩展。 变化二register关键字变化 C语言中register这个关键字请求编译器尽可能的将局部变量存在CPU寄存器中而不是通过内存寻址访问以提高效率。 注意是尽可能不是绝对。因为如果定义了很多register变量可能会超过CPU的寄存器个数超过容量。 C语言中无法取得register变量地址在C中依然支持register关键字。为了兼容C语言特性。 C编译器有自己的优化方式不使用register也可能做优化。 C中可以取得register变量的地址当C编译器发现程序中需要取register变量的地址时register对变量的声明变得无效。 早期C语言编译器不会对代码进行优化因此register变量是一个很好的补充。 #include stdio.h #include stdlib.h int main(void) {register int c 0;printf(Begin...\n);printf(c %08X\n, c);printf(End...\n);return 0; } 说明标准C不支持对register取地址。VC6.0有警告但是也可以获取寄存地址只是说明编译器对register变量有处理申请不掉register变量就变成普通变量。但是标准C是不支持的。 变化三同名的全局变量处理 在C语言中重复定义多个同名的全局变量是合法的最终会被链接到全局数据区的同一个地址空间上。在**C**中不允许定义多个同名的全局变量C拒绝这种二义性的做法。 #include stdio.h #include stdlib.h int c 1; int c;//加上extern 关键字C可以编译通过表示在前面定义的。 int main(void) {printf(Begin...\n);printf(c %08X\n, c);printf(End...\n);return 0; }变化三 const 常量 在C中const修饰的变量是不允许再次赋值的但是可以通过指针操作const变量。const变量是只读变量有自己的存储空间。 #include stdio.h //const int c 0;// const修饰全局变量不可用指针操作修改值会出现段错误。 int main(void) {const int c 0;int *p (int*)c;*p 8;printf(c%d\n, c);return 0; }在C中编译器对const常量处理 当碰见const声明时在符号表中放入常量编译过程中若发现使用常量则直接以符号表中的值替换编译过程中若发现对const使用了extern或者操作符则给对应的常量分配存储空间。 NoticeC编译器虽然可能为const常量分配空间但不会使用其存储空间中的值。 如果再到上面的代码中插入打印C常量地址操作 printf(c address %08X\n, c);最终打印如下 c0 c address EB6F729C C中const变量是只读变量告诉编译器该变量不能出现在赋值符号左边本质是变量有自己的存储空间。C中const 是真正的常量当const常量为全局并且有extern关键字或者使用操作符取const常量地址时才会分配地址空间。 为什么C还要为const 常量分配地址空间呢因为为了兼容C。 范例加强const常量c和c的理解 #include stdio.h int main(int argc, char *argv[]) {const int a 1;const int b 2;int array[a b]{0};int i 0;for (i 0; i (ab); i){printf(array[%d] %d\n, i, array[i]);}return 0; }分别用gcc 和 g编译运行结果 C编译器直接报错无法确定数组array的大小因为const在c中本质是变量编译器无法知道数组array的大小变量只有在运行时候才知道值。 C编译器作为常量处理直接到符号表中取值所以array[ab] 就是array[12]. C中的const小结 const常量类似于宏定义const int c 0; ≈ #defin c 5c中的const常量与宏定义不同 const 常量是由编译器处理的提供类型检查和作用域检查。而宏定义由预处理器处理简单的文本替换。 范例 #include stdio.h void f() {#define a 3 //本意是想在本函数中使用a,作用域是该函数const int b 4;//该变量作用域为f函数 }void g() {printf(a %d\n, a);//但是预编译器会直接替换掉a.printf(b d %d\n, b);//编译会报错因为编译器会对作用域进行检查 }int main(int argc, char *argv[]) {f();g();return 0; }变化四struct类型的变化 C语言的struct定义了一组变量的集合C编译器并不认为这是一种新的类型。C中的struct是一个新类型的定义声明。 #include stdio.h struct Student {const char* name;int age; };int main(int argc, char *argv[]) {Student s1 {Tom, 30};Student s2 {Tony, 28};return 0; }C编译器认为Student 不是一个类型所以报错。C认为是一种新的类型可以直接赋值。 C中所有的变量和函数都必须要有类型。C语言中的默认类型在C中是不合法的。 范例 #include stdio.h f(i) //C语言默认类型 int f(int i) {printf(i %d\n, i); } g() //c语言默认类型 int g() {return 5; }int main(int argc, char *argv[]) {f(10);printf(g() %d\n, g());//printf(g() %d\n, g(1, 2, 3)); //在C中这里打开也能编译通过。反之在C中fail。return 0; }在C语言中f(i) 和g()函数默认为 int f(int i) 和 int g(); g() 函数在C中可以接受任意的参数所以在调用的地方写g(1,2,3)也能通过只不过对传入的参数不处理。 如果C语言中想要表示不接受任何参数则需要在函数括号中加void。 思考int f();与int f(void); 的区别是什么 C语言中int f();表示函数可以接受任意的参数而 int f(void);表示调用时不接受任何参数否则就报错。C中int f();和int f(void) 都相同表示函数不接受任何参数。对类型检测加强。 总结 C 以C语言为基础进行了加强。C更强调实用性可以在使用的时候声明变量不需要在函数开头。C中register只是向C兼容C编译器能够进行更好的变量优化。C中的const是一个真正意义的常量而不是只读变量。C更加强调类型任何函数和变量都必须要指明类型。
http://www.hkea.cn/news/14315625/

相关文章:

  • 网站推广排名收费标准分销系统app
  • 网站管理强化阵地建设网站策划方案论文
  • 建设网站最强做网站用广告赚钱过时了
  • 电商网站服务器外贸知识最全外贸业务流程
  • 做外贸出口的网站wordpress修复
  • 做网站的图片大全室内装修设计自学软件
  • 大丰网站制作佛山市建设企业网站服务机构
  • 怎么让公司网站显示官网柳市哪里有做网站推广
  • 黄山网站建设北京网站建设 招聘信息
  • ASP网站开发步骤与过程志愿服务网站建设中标公告
  • 金华哪里有做网站的公司4000-262-场口一站式建站哪家公司好
  • 佛山免费建站怎样整合营销传播的明显特征是
  • 用python做网站怎么赚钱四川公共资源交易网查看招标公告
  • 度假区网站建设方案桂林十里画廊
  • 佛山建设外贸网站公司吗在线seo关键词排名优化
  • 专门做招商的网站是什么免费开发软件制作平台
  • 建站之星用做什么网站大连做网站的
  • 鞍山手机网站建设网站建设的服务器
  • 郑州网站建设九零后dw简述网站开发流程
  • h5 网站开发流程图国外做兼职网站有哪些
  • 求个网站开网站挣不挣钱
  • 怎样做自己网站网页设计图片作品
  • 网站建设意向书ps兼职做网站
  • 青海微信网站建设三合一模板网站
  • 网站建设论文模板园林景观设计公司的培训手册模板
  • 企业网站设计目的和意义支付宝开放平台
  • 网站建设公司上海做网站公司哪家好做骗子曝光网站是否违法
  • 哪种语言做网站最快windows优化大师在哪里
  • 建筑工程证书查询免费seo关键词优化方案
  • 阿里云网站备案幕布网站建设软件开发