摘要:
int型变量有时候占4个字节(在Win32),有时候占2个字节(在DOS) 这个int类型的大小到底是跟编译器有关,还是跟CPU有关,还是跟操作系统有关?所谓的16位32位64位系统是由cpu决定的,由机器指令的寻址、寄存器位数决定的 os受cpu的限制,但在32位的cpu下16位的os也可以跑(就向上面提到的所谓纯dos) 很多os是向前兼容的,就是使以前的程序也能运行,如果编译器本身是16位时代做的,那么os会提供一个模拟16位的子环境供这个编译器使用 int和void*长度应该是一样的(16位的时候的20位的指针是两个16位错位加起来的) 非要转牛角尖的话,int只是语言定义里面的一个关 阅读全文