2024-07-09 02:23:09
为便于说明,把问题略为简化:“定义的是指向字符的指针,为什么能输出整个
在C++中,cout << p;中的p如果是字符型指针,就被解释为“从这个指针的值(地址)开始,一个字节接一个字节地把其内容按ASCII码对应的字符输出到终端,直到遇到'\0'停止,且不输出'\0'“。下面的代码表明,当把一个int变量的地址强制为char *型时,cout <<也会把4字节的int数据按字节的ASCII值输出字符串,以证明前述分析的正确性:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include <iostream>
using namespace std;
int main(void){
int a=6513249;
cout << (char *)&a << ' ' << &a << endl;
return 0;
}
输出是abc xxxxxxxx(这是a变量的
注:a的值是精心选择的,使它的前3个字节的ASCII码刚好是abc,后一个是0,否则输出可能是
2024-07-09 08:44:45
2024-07-09 15:30:51
char const (*month)[n_months]这个是数组指针吧
2024-07-09 20:08:52
2024-07-09 13:08:46