C++_char输出乱码

#include 

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(cptr) << endl;
	cout << "char指针加1:" << static_cast(++cptr) << endl;

	cin.get();
	return 0;
}
输出:
0073F7C8
int指针加1:0073F7CC
0073F7B8
char指针加1:0073F7B9

注意:

1、在定义char时,需要对其进行初始化,在末尾需要加入‘\0’,否则会导致输出乱码。发生内存越界访问。

2、在使用C++的cout输出字符地址时,需要对其进行强制转换。否则将输出字符内容。

你可能感兴趣的:(C++)