C++笔记--类型和声明
- 布尔量
- Eg: bool b1=a==b;//这个例子中,=是赋值,==是判断是否相等,所以先是判断是否相等,a如果等于b,b1的值就是true,否则就是false了
- Bool经常被用作检查某些条件是否成立的函数的结果类型,
- Eg:bool greater(int a,int b) {return a>b}
- Bool可以和整数进行隐式的转换(任何非零的整数都是true,零为false)
- eg:bool a=ture;
- bool b=true;
- bool x=a+b;//因为a+b=2 为true,所以x也是tru
- Bool y=a|b;//a/b=1,所以y为true
- 字符型
- 一个char类型包含8位二进制位数,可以保存256中不同的值
- 整数型
- 浮点型
- 大
- sizeof(char)= 1
- sizeof(short)= 2
- sizeof(float)= 2
- sizeof(int)= 4
- sizeof(double)= 8
- sizeof(void*)= 4
- sizeof(long)= 4
- sizeof(LONGLONG) = 8
- sizeof(bool)=
- sizeof(wchar_t) = 2
- Void
- 用于刻画一个没有返回值得函数 void f();
- 用作指向不明类型的对象的指针的基础类型 ,这个指针允许被强制转换为任意类型的指针 void * pv;
- 一个特殊的例子:
- Char类型的指针:
- char c='V';
- cout<<c<<endl;
- cout<<&c<<endl;//char类型的数据,输出地址是不能用&符号的
- cout<<(void *)c<<endl;//可以利用(void*)指针进行输出,当然也是可以强制转换成别的类型的指针
- cout<<(double *)c<<endl
- return 0;
- 枚举
- 声明
- 除了函数和命名空间外,其他声明都应该以分号结束
- 声明的名字
- 名字最好取得比较规范,让人容易看懂。Eg:current_token
- 名字的作用域:
- 一般是从名字声明开始的地方开始到这个作用块结束的地方成为名字的作用域
- 如果出现全局变量和局部变量都是一样的名字的话,在局部的地方会遮蔽掉全局变量,如果还想要调用全局变量的话,可以通过作用域解析运算符::进行调用。
- 声明的初始化
- 如果没有初始化:全局的,名字空间的,局部静态的对象会初始化为对应的0
- 但是局部对象和动态对象不会初始化;
- 例如:
- Int main(){
- Int x;//这里就是动态的变量,没有进行初始
- }
- Typedef
- 可以将一个名字变为另一个名字:typedef unsign char uchar;//将名字较长的unsign char变为了uchar类型
C++笔记--类型和声明的更多相关文章
- [C++学习历程]基础部分 C++中的类型和声明
前面搭起了C++的VS环境,可以在VS中编写C++代码了,也运行了最简单的一个程序Helloworld.那么我们该怎么才能写出功能强大的程序,怎样才能随心所欲的应用呢,那就需要重新回头来,从C++基础 ...
- leanote 信息栏显示笔记本和笔记类型
本文解决如下两个问题: 1. 在列表视图下使用搜索时,不知道搜出来的笔记属于哪个笔记本.(摘要视图下是有显示的) 2. 增加显示笔记类型(markdown 或 富文本) 修改resources\app ...
- 复合类型的声明——是int *p还是int* p
我们先来看一条基本类型的声明语句:int a, b, ... 即一条声明语句由一个数据类型(int)和紧随其后的一个变量名列表(a, b, ...)组成 更通用的描述是:一个基本数据类型和紧随其后的一 ...
- mybatis进行mapper.xml测试的时候发生"必须为元素类型 “mapper” 声明属性 “namespace”
1.Caused by Caused by: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 45; 必须为元素类型 " ...
- 标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型
函数声明: 1.隐式声明:在没有声明的情况下,系统可依据參数类型推断去调用函数(有可能出错) 2.显式声明:声明在被调用之前.如:double add(double,double); ...
- The C++ Programming Language 学习笔记 第四章 类型和声明
1.关于main 函数中的 return 0 C99标准中,main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统).如果 main 函数的最后没有写 return ...
- C++程序设计(第4版)读书笔记_类型与声明
字符类型 #include <iostream> using namespace std; int main() { cout << << endl; cout & ...
- TypeScript 入门自学笔记 — 类型断言(二)
码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...
- C语言学习笔记--类型定义&联合
一.类型定义 C语言自定义数据类型 (typedef) C语言提供一个叫做typedef的功能来声明一个已有的数据类型的新名字. typedef int Length; 使得Length成为int类型 ...
随机推荐
- LightOJ 1224 DNA Prefix
Given a set of n DNA samples, where each sample is a string containing characters from {A, C, G, T}, ...
- Python Indentation
In Python, code blocks don't have explicit begin/end or curly braces to mark beginning and end of th ...
- BZOJ2276:[POI2011]Temperature
浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...
- 关于本地模块安装入maven仓库出现的异常
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.9.RELEASE:repackage (de ...
- redis client API-----------python
想知道redis针对各种编程语言推荐的接口API实现,请参考http://redis.io/clients/ 选择python语言,则使用https://github.com/andymccurdy/ ...
- [转载]Ubuntu下ssh服务的安装与登陆(ssh远程登陆)
转载地址:http://blog.csdn.net/zht666/article/details/9340633 Ubuntu默认并没有安装ssh服务,如果通过ssh远程连接到Ubuntu,需要自己手 ...
- jdk中那些常见的类不能被继承的
对于java中的类,如果是使用final修饰的话,那么这个类就不能够被继承,因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户 继承时操作有误,很可能引入很多问题.为了防止用户对基 ...
- select *和select 全部
select *和select 全部字段 在查询上效果是一样的,速度也是一样的. 不过理论上来说select *反而会快点. 因为 1.select 全部字段在数据传输上消耗会更多,如果几百个字段这个 ...
- linux命令-fdisk分区
fdisk -l 查看分区状况,也可查看指定分区 Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 26 ...
- 安卓读取SD卡的容量
在开发中,我们经常会用到SD卡,那么在对SD卡进行读写的时候,我们经常需要判断SD卡的剩余容量是否足够.因此,这次我们来写写获取SD卡容量的程序. 该注意的地方,我都在程序里面有注明了.看程序基本就懂 ...