已采纳回答 / 搞笑啊
不是等价的,因为x是一个变量,而y虽然是x的别名,但是他表示的是一个常量;因此,可以改变x的值,而不能通过对y的赋值语句改变他们的值;至于意义,我想可能是为了对操作权限进行限制吧,对x的操作权限比对y的要大。
2016-07-10
已采纳回答 / 我是神0
*p 表示的就是一个指针,而&p表示变量p的地址对于上面的程序来说&p!=&a,上面的程序指针*p指向a的地址此时p的值为a的地址*p的值相当于指向a的地址引用(可理解为a存储的值),而当*&p时相当与对a进行了取地址此时*&p = &a;
2016-07-02
已采纳回答 / 天涯落葉
输出p的地址 可以用 cout<<&p<<endl;C++当然也可以格式,比如cout << hex <<100; 可以输出100的十六进制可以百度一下c++输出格式,有详细的
2016-06-11
已采纳回答 / qq_言懿_03305352
int *p = NULL; 定义一个指针变量p,其指向的内存里面保存的是int 类型的数据;在定义变量p 的同时把p 的值设置为0×00000000,而不是把*p 的值设置为0×00000000。这个过程叫做初始化,是在编译的时候进行的。 int *p; *p = NULL; 第一行代码,定义了一个指针变量p,其指向的内存里面保存的是int 类型的数据;但是这时候变量p 本身的值是多少不得而知,也就是说现在变量p 保存的有可能是一个非法的地址。第二行代码,给*p 赋值为NULL,即给p指向的内存赋值为N...
2016-05-16
已采纳回答 / 慕沐8501324
#include <string.h>#include <iostream>#include <stdlib.h>using namespace std;#pragma warning(disable:4996)int main(void){ //在堆中申请100个char类型的内存 char *str = new char[100]; //拷贝Hello C++字符串到分配的堆中的内存中 strcpy(str, "Hello imooc"); //打印字符串 cout...
2016-05-09