为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
largeQ 2018-07-29 21:21:46
现在学习C++,书中看到了以下例程:#pragma hdrstop#include <iostream>#include <cstring>using namespace std;char *getname(void);//---------------------------------------------------------------------------#pragma argsusedint 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的地址吧?
查看完整描述

2 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

定义一个int型的指针

例如:

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


查看完整回答
反对 回复 2018-08-02
?
慕容708150

TA贡献1831条经验 获得超4个赞

name本身是一个char*型的变量,就是一个指针,指向输入的名字字符串的首字符的地址。如果直接输出name,输出的就是名字字符串。
(int *)是将name转换为指向int型变量的指针,所以再用cout 输出,结果就是该名字字符串的首字符的地址。

查看完整回答
反对 回复 2018-08-02
  • 2 回答
  • 0 关注
  • 4180 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信