一:.h和.cpp的区别
.h包括IDE的库文件和自己写的头文件,有函数和类的声明。
.cpp是源码文件,有函数的实现。编译的时候.h文件起到连接的作用。
二:int,long int,short int所占字节
16位编译器,32和64位有不同标注再中括号中:
char:1个字节
short int:2个字节
int:2个字节 【32和64位是4个字节】
float:4个字节
double:8个字节
long:4个字节 【64位是8个字节】
long long:8个字节
char*(即指针变量): 2个字节 【32位是4个字节(32位的寻址空间是2^32, 即32个bit。同理64位编译器是8个字节)】
参考原文:http://blog.sina.com.cn/s/blog_693ac9f60100q613.html
三:字节对齐
- 1.抛出问题
struct{int a; char b;}的大小是多少?答案是8。 - 2.分析问题
首先,每种类型的变量的默认对齐长度都是自己的变量长度,比如:char占一个字节,那么对齐长度就是一个字节,int占四个字节,对齐长度就是四个字节,double占八个字节,对齐长度就是8。int的对齐长度为4