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

宁夏自治区住房与城乡建设厅网站房地产微网站

宁夏自治区住房与城乡建设厅网站,房地产微网站,网页制作工具的英文名,wordpress 禁用修订C Primer第二章的内容主要介绍了变量和基础类型#xff0c;包括C语言定义的基础内置类型、变量的定义及声明、符合类型如指针及引用的介绍和const及常量表达式constexpr的介绍#xff0c;本次博客也从这四个方面进行系统的介绍#xff0c;如果有不足之处#xff0c;还望其他…        C Primer第二章的内容主要介绍了变量和基础类型包括C语言定义的基础内置类型、变量的定义及声明、符合类型如指针及引用的介绍和const及常量表达式constexpr的介绍本次博客也从这四个方面进行系统的介绍如果有不足之处还望其他博主留言指正如果博客对你有一定的帮助还请点个赞支持一下。 1基本内置类型 C语言具有广泛的数据类型除了基本内置类型之外还定义了一些复杂的数据类型比如可变长字符串string和向量vector等另外也为码农提供了自定义数据类型的机制比如类和结构体等本次博客主要是介绍C语言中的基本内置类型。 C将基本内置类型分为算术类型和空类型(void)算术类型又分为整数类型和浮点数类型其中整数类型又分为布尔类型(bool 未定义最小尺寸大小,值为true或false),字符类型(char最小尺寸为8位)short类型(最小尺寸为16位)int类型(最小尺寸为16位)long类型(最小尺寸为32位)long long类型(C11中新定义的最小尺寸为64位)另外浮点型包括单精度浮点型(32位有效位数为5位)和双精度浮点型(64位有效位数为7位)且浮点数在计算机中的储存结构如下图所示 C中定义一个char类型的大小和一个机器字节一样长同时定义byte(long long)byte(long)byte(int)byte(short)。 在选择数据类型的时候有以下四条建议1合理使用无符号类型避免无符合和有符号数混合运算2)整型定义尽量使用int,如果数据较大则使用long long3算术表达式尽量不要出现bool和char类型4浮点运算选用double类型。 2初始化及赋值和声明及定义 初始化和赋值时两个完全不同的概念初始化的含义是创建变量时并对变量赋予一个初始值其调用的是定义好或默认的构造函数而赋值的含义是将对象当前的值擦除并用一个新值来替代调用的是拷贝构造函数或重载操作符函数。 如果变量只是定义但没有指定初值系统会对变量进行默认初始化。对于内置类型变量的默认初始化值和其位置有关。如果内置类型变量定义在任何函数之外则默认初始化为0如果定义在函数内部则不会被初始化此时的值未定义拷贝和访问没有定义的值会发生错误。绝大多数类都支持默认初始化这和类中是否有默认构造函数有关有一些其他的类则需要显示进行初始化。 C规定可以采用初始化列表的形式来初始化变量即采用一组由花括号括起来的值来初始化变量但是需要注意的是使用初始化列表的形式初始化内置类型变量时如果初始化过程中存在数据截断的情况,如把一个浮点数赋值给整数编译器会报错。 C为了方便程序实现分离式编译(可以理解成.C和.h文件的独立)将声明和定义区分开。声明的目的是为了让变量的名字为程序所知声明中只规定变量的类型和名字并在前面加上extern关键字(但不能对加了extern关键字的变量进行初始化否则extern关键字失效)定义的目的则是为了创建和名字有关的实体为变量申请内存空间还可能初始化变量。 建议不管是在函数内还是函数外使用内置类型都要初始化。在函数体内部初始化一个由extern关键字标记的变量会发生错误因为变量只能定义一次但可以多次声明。 3指针及引用 指针是一种指向其他类型对象的复合类型(基本数据类型一组声明符)大多数情况下需要满足定义的指针类型和指针指向对象的类型匹配(两种特殊情况1常量指针指向非常量对象。2virtual类的动态编译)。指针是一个对象可以进行赋值和拷贝也可以指向不同的对象同时不需要在定义的时候进行赋值(和引用的区别)。使用指针时如果需要分析程序执行的每个时间段指针的指向可以采用内存四区模型和一个建议(指针指向谁就把谁的地址赋给指针)来进行分析。 对于指针而言指针的值存在四种状态1指向一个对象(一般情况)2指向紧邻对象的一个空间(尾后迭代器3空指针没有指向任何对象4无效指针除123情况之外。 建议对于使用了指针的情况下要判断所得到的指针是否有效访问和拷贝无效指针的值会使程序崩溃。 引用是指对象的别名一般情况下的引用都指的是左值引用。引用定义的机制是将引用和变量对象绑定起来使得引用称为变量的另外一个名字但是此时的变量对象可以不初始化。由于定义引用需要将引用和变量对象进行绑定因此引用必须初始化且一旦绑定了一个对象引用就不能再绑定另外一个对象了。引用不是对象它只是变量对象的一个别名因此不能定义引用的引用或指向引用的指针。由于引用是和变量对象是绑定起来的因此通常情况下引用的类型和绑定对象的类型要一致(除了两种情况1初始化常量引用可以采用任意表达式作为初始值只要能够转换成引用类型2virtual类的动态编译)。 4const和常量表达式constexpr const限定符的作用是用于限制变量的类型。一般情况下有两种情况1默认情况下const对象只能在文件内有效。多个文件出现相同的const变量时,等同于不同文件中独立定义的const变量。2当const变量初始值不是一个常量表达式且需要实现多个文件共享变量需要在一个文件中定义const变量其他文件中声明并使用它(声明和定义变量时都需要加上extern const标识符。 常量引用也称为对const的引用是将引用绑定到const对象上。C规定允许将非常量的对象字面量和一般表达式绑定给一个常量引用只要右端的值能够转化为引用的类型即可。但是在不同类型转换的过程中其实引用绑定的是一个临时量而非我们希望绑定的那个数据具体例子如下所示 double var3.14;      ------------         const int tempvar; const int pvar;      _______          const int ptemp; 建议使用引用绑定对象时养成引用和绑定对象类型一致的习惯。 常量表达式(constexpr)指的是值不会改变且在编译过程中能够得到计算结果的表达式。一般来说可以使用算术类型引用和指针等字面值类型的变量来初始化常量表达式。除此之外可以地址固定不变的对象来初始化常量表达式。对于constexpr类型的指针初始值必须为nullptr(0)、存储于某个固定地址的对象或超出函数范围之外的变量(如static和global变量)。 C11规定可以采用constex来验证变量的值是否为常量表达式初始化常量表达式的值必须为常量或constexpr函数。 ***知识点补充1字字节和位的区别 位:即bit,是计算机用来存储数据的最小单元取值为0或1 字节即byte,是计算机可寻址的最小内存块一个字节等于8bit;牵涉到的知识点:定义数据的大小 字即word,是计算机存储的基本单元通常由几个字节组成(牵涉到的知识点数据对齐方式和计算机的位数 ***知识点补充2变量对象和值之间的关系 变量提供一个具体名字的可供程序操作的存储空间。 对象具有某种类型的内存空间(数据类型内存空间。 值只读的数据。 已命名的对象才称为变量。 ***知识点补充3变量的命名规则 变量的命名规则有以下四个建议1变量名体现实际含义2变量名一般使用小写3自定义的类名以大写字母开头4如果出现多个单词单词之间采用下划线连接。 ***只是补充点4指向常量的指针/引用常量指针顶层const,底层const区别 指向常量的指针/引用指针指向的/引用绑定的对象为常量此时不能用指针/引用去改变常量对象的值。 指针常量指针的地址不变指向的对象数据可以发生改变必须初始化。 顶层const:定义的对象是常量(如常量指针常量内置定义类型 底层const:定义对象指向的值或者绑定的值为常量(如指针常量指向常量的引用)
http://www.pierceye.com/news/848414/

相关文章:

  • 免费情感网站哪个好有没有帮忙做标书的网站
  • 申请域名需要多久大连seo顾问
  • 舟山外贸建站公司做文案选图片素材的网站
  • 网站开发从何学起公司网站在哪里做
  • 无锡网站制作哪家有名金华安全网站建设怎么收费
  • dw做响应式网站重庆黄埔建设集团网站
  • 做系统那个网站好wordpress添加返回顶部
  • 站网站推广汕头网站建设和运营
  • 免费注册网页的网站中原彼得堡航空学院网站的建设
  • 青岛高端网站制作公司可做笔记的阅读网站
  • 区网站建设有域名后怎样做网站
  • 加强网站基础建设推广app的平台
  • 全球访问量最大的网站排名中国贸易公司100强
  • 衡水市网站制作有没有专门做儿童房的网站
  • 网站建设如何做报价网络工程师考试时间
  • wordpress建公司网站ftp转换wordpress
  • 网站开发 公司简介网站开发工具有哪些
  • 阿里云备案 网站备案域名购买河南洛阳网络公司
  • 工会网站建设请示怎么做属于自己的售卡网站
  • 怎么用ftp工具上传网站源码极速网站建设定制多少钱
  • 文山网站建设哪家好网站开发需要会的东西
  • ie9网站后台编辑器网络公司办公室图片
  • 山西格泰网站建设空间商网站
  • 做网站建设哪家便宜python 做电商网站
  • 网站项目ppt怎么做网络销售推广平台
  • 网站推广营销策略一级a做爰片免费网站 小说
  • 音乐网站排名室内设计基础知识点
  • 毕业设计音乐网站开发背景网站内容怎么修改
  • 风琴折叠图片效果网站宁波seo托管公司
  • app定制研发app开发seozou是什么意思