为您找到"

谁能解释下int *p=&a是对的,但是*p=&a;却不对?

"相关结果约100,000,000个

谁能解释下int *p=&a是对的,但是*p=&a;却不对?

p=&a; 这一句是对(*p)进行赋值操作,(*p)的数据类型是int型,而&a的数据类型是int*,两者类型不同,无法进行赋值,所以语句是错的。

c语言中*p=a与*p=&a有什么区别

对于数组而言,指针的初始化和使用也非常重要。数组名通常被解释为指向数组第一个元素的指针。因此,int arr[5]; int *p=arr; 这种形式是常见的,表示p指向数组arr的第一个元素。此外,指针加1意味着移动到下一个数组元素的地址,而非下一个字节。这是指针必须初始化并指定所指向对象类型的原因之一。

为什么int* p=& a;是不正确的呢?

int *p=&a是同时定义*p并对赋值p(即a的地址赋给P),而p=&a,只是对P赋值,没有定义指针变量。但要注意,只有在同时定义赋值时“*p=&a”这种写法才是对的 其他情况下不要用*p=&a,这种形式,因为根本就不对,如下图。我之前一直的疑问是为什么赋值时*p=&a就不算错了?后来老师给的解释是这...

int *p=&a和*p=a有什么区别

1.一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2.*p=a的意思:将a的值赋给p指针指向的地址的值;3.p=&a的意思是:将a的地址赋给指针p;4.区别:*p是一个值;p是一个地址;两者完全不相同。5.*代表着p指向的地址的值,简单来说就是取值;&是取地址符号,取的是地址;p是...

请问&*p等于*&p?这两个怎么理解

声明:int a=1; int *p=&a;语句:printf("%x %x ", &*p, *&p);这里 &*p 和 *&p 都等于 p, 也就是 p 指向的 变量的地址,这里 正好 都等于 变量 a 的 地址。--- 来段程序:include<stdio.h> include <stdlib.h> main(){ int a=2,b=3;int *p; // 声明了,但没有...

int *p=a和int *p=&a有什么区别?

int *p=&a 其实是两个语句 等价于 int *p; p=&a;如果a是int型,int *p=a是错误的,正确的应该是 int *p; p=&a;在定义的时候不能给p直接赋值整型,只能赋值int型地址 即 &a;如果要给p指针指向的地址赋值,就可以*p=a;但不能在定义*p的时候直接赋整型。

int a=3; int *p; *p=&a; 请解释*p=&a是错误的原因!!!

p的数据类型是指针,指针使用地址赋值,所以可以使用p=&a;是运算符,*p的数据类型便不再是指针,而是整型数据,使用整型数据赋值,所以可以使用*p = a;但是*p=&a,‘=’运算符左右两侧的数据类型不同,所以编译时会报错,不存在int*到int型的运算符重载。

int *p=&a;与int a;int *p;p=&a有什么区别? 为什么一个是*p=&a,一个...

呵呵 ,前面int *p=&a 之前肯定先定义过变量a (int a)了 所以 定义整型指针变量p的时候直接把a的地址交给了p;后面也是这个意思 区别在于是不是定义p的同时就给p赋初值 懂不?

c++中int* p=& a;什么意思?

int *p;//初始化指针,但是该指针无指向地址!如果直接使用会有问题。int *p=&a;//初始化指针,该形式只在定义时正确,表示以p指针所指向地址的值为变量a的值。p=&a;//表示指针p所指向的地址就是a的地址。即地址间的赋值。p=a;//表示指针p所指向地址的内容就是内容a。在C中,指针一定要...

int a[10 ],*p=a, 和 *p=&a 分不清了

int* p2 = &a[0]; // 这两个相同,p1 p2都指向数组第一个元素// 但是 &a 的意思就完全不同了!它是对数组名取地址,得到的是一个指针,这个指针// 指向的是一个数组!
1 2 3 4 5 6 7 8 9

相关搜索