解析 在本题的赋值int * p = 100 ; int*p表示定义了一个int类型的指针变量p,而用来赋值的却是一个int类型的常量100,不是一个int类型变量或常量的地址。所以该赋值方法错误。 指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量[1]一样,必须在使用指针存储其他变量地址之前,对其进行声明...
int *p[3] 是一个指针数组,p是数组名,数组元素类型是 int *。即表示一个一维数组中存放3个指针...
定义一个int类型数组a[10],并赋初值值,定义一个指针int* p,赋值p=a1.指针变量的值是一个地址,就这一点来说它是一个16位或32位的整数。但
1、没给p赋值,为什么这个程序能输出p的值?int *p=new int;这里申请了内存,这样p就指向了一个有效的地址。由于你输出的是p,这个表示地址,所以它会输出地址。没有给p赋值,表示 p指向的地址中为默认值,如果要输出,需要使用*p来输出内容。2、我自己用c++编译后运行输出的值为什么和课本例子上的...
你的代码应该是这样吧!int *p=new int;就是说在堆内存中开辟一块新空间,里面存放int的数据,然后你要是想对他操作,当然要有个指向他的指针,就是定义了的p;然后你这个代码*p=1;就是说把1赋值给p指针所执行的内存空间中,修改内存中值!
int * p = (int *)malloc(10);的解释是,在内在中分配连续10个字节的空间,并把第一个字节所在的地址强制为int *型指针值赋给int *型指针p。看,p已经有指向了,给它指向的单元赋值就有地方存储了,所以*p就是合法的。int * q;的解释是,声明一个int *型指针q。看,它还没有指向,叫...
int a = 10; /*声明一个整数类型的变量a,并赋值为10*/ int * p = NULL; /*声明一个变量...
int *p=&a;这句话是对的,他的意义是声明整形指针p,并且将p初始化。等同于:int *p; p = &a;这两步操作,而赋值等同于初始化,也就需要p = &a;
p代表的是p指针指向地址的数值,p=&m;代表p指针指向m这个数值。&n代表n存放的地址。p=*&n 代表p这个指针指向的地址放入n地址所存放的数值。不知道这样讲你是否明白?