C++中的"(int *)"是什么意思

现在学习C++,书中看到了以下例程:
#pragma hdrstop
#include <iostream>
#include <cstring>
using namespace std;
char *getname(void);

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
char *name;

name = getname();
cout << name << " at " << (int *)name << endl;
delete [] name;

name = getname();
cout << name << " at " << (int *)name << endl;
delete [] name;

return 0;
}
//----------------------------------------------------------------------------
char *getname()
{
char temp[80];
cout << "Enter last name: ";
cin >> temp;
char *pn = new char (strlen(temp) + 1);
strcpy(pn,temp);

return pn;

}
程序的大致意思知道了,但是不明白里面的(int *)name是什么意思?应该是代表输出name的地址吧?

largeQ
浏览 4181回答 2
2回答

鸿蒙传说

定义一个int型的指针例如:123int&nbsp;*p;//定义一个指向int型变量的指针char&nbsp;*p1;//定义一个指向char型变量的指针int&nbsp;**p2;//定义一个指向int型指针的指针,即指向指针的指针

慕容708150

name本身是一个char*型的变量,就是一个指针,指向输入的名字字符串的首字符的地址。如果直接输出name,输出的就是名字字符串。(int *)是将name转换为指向int型变量的指针,所以再用cout 输出,结果就是该名字字符串的首字符的地址。
打开App,查看更多内容
随时随地看视频慕课网APP