若有说明:int i,j=7,*p=&i;,则与i=j; 等价的语句是( ).A.i= *p;B.*p=*&j; C.i=&j; D.i=* *p;
有一个问题没有搞清楚:根据int i 得 i 是一个数,而&i则表示一个地址,而*p表示一个指针变量,表示一个数了.上面的*p=&i,不就表示把一个地址赋值给一个变量了嘛?
我是个菜鸟,这样理解是不真确的,我该怎样理解呢?
人气:260 ℃ 时间:2020-09-30 23:18:39
解答
解析:题中说,定义整型变量i和j,并且初始化了把7赋值给变量j.*p=&i是说使整形指针变量p指向了变量i的地址(即变量p中存储了变量i的地址).i=j是说给7的值赋给变量i,即i的值为7.与之等价,那就是同样是赋值表达式,B答案 *p=*&j;中&j是取地址,*&j表示取地址中的值,即为7,赋给变量p里的值(即是i).
推荐
- 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是 A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0
- 说明语句如下:int a[10]={1,2,3,4,5,6,7,8,9},*p=a;则数值为6的表达式是( ).
- 设定义了说明语句:static int a[2][4]={1,2,3,4,5,6,7,8},(*p)[4]=a+1;则p[0][0]的值为_____.
- int a,*p=&a,* *pp=&p;,则与a=100;等价的语句为(
- 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},p=a; 则不能表示a数组元素的表达式是( ) A) *p B)
- 矩形的判定定理?快
- 狭义马克思主义理论是什么
- 为什么蜡融化了就变透明了
猜你喜欢