编程中的一些小知识点
2015-06-05 11:38
190 查看
1.
Sizeof:计算在栈中分配的内存大小
1). 无论什么类型指针,其大小均为4个字节
2). char型占1个字节,int占4个字节,short int占2个字节,long int占4个字节,float占4字节,double占48字节,string占4字节
3). 一个空类占1个字节,单一继承的空类占1个字节,虚继承涉及到虚指针所以占4个字节
4). sizeof不计算static变量的内存,因为其不是在栈上分配内存
5). 数组的长度:若指定了数组长度,则不看元素个数,总字节数=数组长度*sizeof(元素类型);若没有指定长度,则按实际元素个数类确定;若是字符数组,则应考虑末尾的空字符
6). unsigned影响的只是最高位的意义,数据长度不会改变,所以sizeof(unsigned int)=4
7). 自定义类型的sizeof取值等于它的类型原型取sizeof
8). sizeof后如果是类型名则必须加括号,如果是变量名可以不加括号,这是因为sizeof是运算符
9). 当使用结构类型或者变量时,sizeof返回实际的大小。当使用静态数组时返回数组的全部大小,sizeof不能返回动态数组或者外部数组的尺寸
2.
MT:mutithread,多线程库,编译器会从运行时库里面选择多线程静态连接库来解释程序中的代码,即连接LIBCMT.lib库
MTd:mutithread+debug,多线程调试版,连接LIBMITD.lib库
MD:MT+DLL,多线程动态库,连接MSVCRT.lib库,这是个导入库,对应动态库为MSVCRT.dll
MDd: MT+DLL+debug,多线程动态调试库,连接MSVCRTD.lib库,对应动态库为MSVCRTD.dll
3. 有符号整型与无符号整型:两种类型的取值范围的绝对值是相同的;不同的是,有符号:表示其取值范围从负到正;而无符号则从0到正。如short:有符号16位整型,取值为:-32768到32767;而unsigned short:无符号16位整型,取值为:0到65535.
byte:8位整型
short:16位整型
int:32位整型
long:64位整型
Sizeof:计算在栈中分配的内存大小
1). 无论什么类型指针,其大小均为4个字节
2). char型占1个字节,int占4个字节,short int占2个字节,long int占4个字节,float占4字节,double占48字节,string占4字节
3). 一个空类占1个字节,单一继承的空类占1个字节,虚继承涉及到虚指针所以占4个字节
4). sizeof不计算static变量的内存,因为其不是在栈上分配内存
5). 数组的长度:若指定了数组长度,则不看元素个数,总字节数=数组长度*sizeof(元素类型);若没有指定长度,则按实际元素个数类确定;若是字符数组,则应考虑末尾的空字符
6). unsigned影响的只是最高位的意义,数据长度不会改变,所以sizeof(unsigned int)=4
7). 自定义类型的sizeof取值等于它的类型原型取sizeof
8). sizeof后如果是类型名则必须加括号,如果是变量名可以不加括号,这是因为sizeof是运算符
9). 当使用结构类型或者变量时,sizeof返回实际的大小。当使用静态数组时返回数组的全部大小,sizeof不能返回动态数组或者外部数组的尺寸
2.
MT:mutithread,多线程库,编译器会从运行时库里面选择多线程静态连接库来解释程序中的代码,即连接LIBCMT.lib库
MTd:mutithread+debug,多线程调试版,连接LIBMITD.lib库
MD:MT+DLL,多线程动态库,连接MSVCRT.lib库,这是个导入库,对应动态库为MSVCRT.dll
MDd: MT+DLL+debug,多线程动态调试库,连接MSVCRTD.lib库,对应动态库为MSVCRTD.dll
3. 有符号整型与无符号整型:两种类型的取值范围的绝对值是相同的;不同的是,有符号:表示其取值范围从负到正;而无符号则从0到正。如short:有符号16位整型,取值为:-32768到32767;而unsigned short:无符号16位整型,取值为:0到65535.
byte:8位整型
short:16位整型
int:32位整型
long:64位整型
相关文章推荐
- C#序列化与反序列化(Serialize,Deserialize)实例详解
- java string类型转换boolean类型
- Java并发编程-ConcurrentHashMap
- C# WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键
- Java容器类(集合类)学习笔记
- C#中的反射
- php-fpm占用系统资源分析
- Problems running django-admin
- java应用程序和虚拟机实例之间的关系
- 《研磨struts2》第二十一章 零配置 之 21.2 约定大于配置
- QT 串口接收数据库16进制字符串
- 安装jdk1.6过程中Windows Installer程序包有问题,此安装需要的DLL不能运行
- 简单的thinkPHP3.2运行实例。
- QT QString字符串转16进制串口发送数据
- 2015.6.5 qt学习笔记 accept()概念
- C语言函数声明
- PHP通过串口发短信
- phpcms手机内容页面添加上一篇和下一篇
- C# 网页 if(!IsPostBack)的使用?
- Intellij idea14安装google-go-lang-idea-plugin插件无法指定sdk的解决办法