#include <iostream>
using namespace std;
int main()
{
int ia;
char ca[] = { '0','1','2','3','\0' };
int* iptr = &ia;
const char* cptr = &ca[0];
// int类型占4字节。指针加1地址加4.
cout << iptr << endl;
cout << "int指针加1:" << ++iptr << endl;
// char类型占1字节。指针加1地址加1.
cout << static_cast<const void *>(cptr) << endl;
cout << "char指针加1:" << static_cast<const void *>(++cptr) << endl;
cin.get();
return 0;
}
输出:
0073F7C8
int指针加1:0073F7CC
0073F7B8
char指针加1:0073F7B9
注意:
1、在定义char时,需要对其进行初始化,在末尾需要加入‘\0’,否则会导致输出乱码。发生内存越界访问。
2、在使用C++的cout输出字符地址时,需要对其进行强制转换。否则将输出字符内容。