int *(&p) 怎么理解啊??
发布网友
发布时间:2022-05-10 07:35
我来回答
共5个回答
热心网友
时间:2023-11-21 19:23
int *(&p)是指针变量的引用。 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。
引用就是给变量起个别名 ,这种变量必须初始化 。
如int *a = &b; int *(&p) = a;
p不占用内存,它只是a的别名,就像一个人两个名字而已。 所以p指针所指向的内容与a指针所指向的内容相同,即*a == *p;
p在内存中存放的地址与a在内存中存放的地址相同,即 &p == &a。
热心网友
时间:2023-11-21 19:23
指针变量的引用。 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。
引用就是给变量起个别名 ,这种变量必须初始化 ,、
如int *a = &b; int *(&p) = a;
p不占用内存,它只是a的别名,就像一个人两个名字而已。 所以p指针所指向的内容与a指针所指向的内容相同,即*a == *p;
p在内存中存放的地址与a在内存中存放的地址相同,即 &p == &a。
热心网友
时间:2023-11-21 19:24
int
*p[10]
10个指向int类型的
指针
int
(*p)[10]
指向一个有10个int成员的数组。
int
(*p)(int)
指向一个形参表为1个int类型,返回值为int
的
函数指针
int
(*p[10])(int)
定义一个指针数组,数组中每个成员均是
int
(*p)(int)
的指针
热心网友
时间:2023-11-21 19:24
如int *a = &b;
int *(&p) = a;
p不占用内存,它只是a的别名,就像一个人两个名字而已。
所以p指针所指向的内容与a指针所指向的内容相同,即*a == *p;
p在内存中存放的地址与a在内存中存放的地址相同,即 &p == &a。
热心网友
时间:2023-11-21 19:25
指针变量的引用
如果了解引用的概念就好办了
引用就是给变量起个别名
这种变量必须初始化
如int *a = &b;
int *(&p) = a;追问这样对吗?
#include
using namespace std;
int mian()
{
int a=2;
int *b;
b=&a;
int *(&p)=b;
return 0;
}
追答main写错了,你写成mian了,可以打印出来看看他们的地址
#include
using namespace std;
int main()
{
int a=2;
int *b;
b=&a;
int *(&p)=b;
cout <<hex<< (int*)&a <<endl;
cout <<hex<< b <<endl;
cout <<hex<< p <<endl;
cout <<hex<< (int*)&b <<endl;
cout <<hex<< (int*)&p <<endl;
return 0;
}