int **a;
1个回答
展开全部
这是典型的c语言指针题
int *a表示定义了一个int型的指针
*a=b表示指针a指向b,即把b赋值给*a;
&是取地址符,&b代表b在内存中的地址,*a=&b表示把b的地址赋值给*a。
利用编译器编译该代码:
结果为:
拓展资料
*和&运算
(*p)操作是这样一种运算,返回p 的值作为地址的那个空间的取值。(&p)则是这样一种运算,返回当时声明p 时开辟的地址。显然可以用赋值语句对内存地址赋值。我们假设有这么两段内存地址空间,他们取值如下:(单位:H,16 进制)
假设有这么一段代码:(假设开辟空间时p 被分配给了3001H、3002H 两个位置)
int *p;
p=2003H;
*p=3000H
**p的值为多少?
**p=*(*(p))=*(*(2003H))=*(3000H)=3000H。
那么&&p、*(&p)和&(*p)又等于多少?
&&p=&(&(p))=&(3001H),此时出错了,3001H 是个常数怎么可能有地址呢?
*&p=*(&(p))=*(3001H)=2003H,也就是*&p=p。
资料来自于:百度百科:指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询