如下一道选择题:
int main(){
int* pint = 0;
pint += 6;
cout << pint << endl;
}
主要考虑到内存空间的分配问题,开始很容易被int* pint = 0;这句话误解,这句话的意思并不是给整数赋值,而是给地址分配一个新的值,所pint的初始地址是0x00,由于int型地址的最小单位是4位。对整型的地址进行运算,则每一次加一都是加4位。所以pint+6 = 24=0x18;
如下一道选择题:
int main(){
int* pint = 0;
pint += 6;
cout << pint << endl;
}
主要考虑到内存空间的分配问题,开始很容易被int* pint = 0;这句话误解,这句话的意思并不是给整数赋值,而是给地址分配一个新的值,所pint的初始地址是0x00,由于int型地址的最小单位是4位。对整型的地址进行运算,则每一次加一都是加4位。所以pint+6 = 24=0x18;