指针长度

long, unsigned long不是跨平台的(慎用)

风格不统一 提交于 2019-12-07 20:46:53
项目中用到long、long long等字段,遇到一些问题。先说得到的一些结论: 大小端:Windows、Linux是小端,AIX是大端。 sizeof(指针类型)=程序位数/8。 long、unsigned long不是跨平台的,一定要慎用。 自己写了程序测试各平台下(Windows、Linux、AIX),C++各基本类型的最大值、最小值,以及占用字节数。 #include <iostream> #include <limits.h> using namespace std; void checkEndian(); int main() { checkEndian(); cout<<"程序位数="<<sizeof(void*)*8<<endl; cout<<endl<<"各种数据类型:"<<endl; cout<<"sizeof(char)="<<sizeof(char)<<endl; cout<<"sizeof(int)="<<sizeof(int)<<endl; cout<<"sizeof(unsigned int)="<<sizeof(unsigned int)<<endl; cout<<"sizeof(short)="<<sizeof(short)<<endl; cout<<"sizeof(long)="<<sizeof(long)<<endl; cout<<