等价于i=&j。
i=j的意思是将j的值赋予i,即i和j的值相等。
在选项中,i= *p的意思是将指针p所指向的值赋予i;*p=*&j的意识是将j的值赋予指针p所指向的值,而指针p所指向的值是i,就实现i=j;i=&j的意思是将j的地址赋予给i;i=* *p的意思是将指针p所指向的值作为一个地址,将地址所指向的值赋予给i。
指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。
扩展资料:
两个地方要注意:
1、在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;
2、在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
3、这点不要和(*)声明符,(&)操作符混淆。
参考资料:
百度百科-指针
根据定义,指针p指向i的地址,因此p指向地址的内容*p就是i的值
i=*p,相当于i=i
*p=*&j,相当于i=j,正确
i=&j,地址不能赋值给整型变量
i=**p,p不是一个二级指针,**p强行把i的值视作一个地址,会导致不可预知的结果
B, *p为P指针所指内容I,&j为j地址,*&j为j地址中的内容。故B