#include <iostream>
#include <string>
using namespace std;
int main()
{
unsigned char a1='a',b1='b',c1='c',d1='d';
cout<<"(int)(&a1) = "<<(int)(&a1)<<endl;
cout<<"(int)(&b1) = "<<(int)(&b1)<<endl;
cout<<"<(int)(&c1) = "<<(int)(&c1)<<endl;
cout<<"(int)(&d1) = "<<(int)(&d1)<<endl<<endl;
return 0;
}
Debug 版本:
52,48,44,40---相差了4个字节啊?
一个char变量 只占一个字节的空间,而Debug下则是地址相差了4个字节空间?
char变量的存储空间只占一个字节,那就是有3个闲置空间?
Release 版本:
56,57,58,59 相差一个字节,刚好符合 char的空间大小
Debug的起始地址是 1245052, Release的是1245056,也就是Release 要高4个字节,栈上的空间由高到低分配,那么就是说release能多分配4个字节的空间?