c语言里 *p=a和p=a的区别?

为什么上面用*p=a,下面用p=a?

在c语言里 *p=a
是使用在声明指针变量的同时给它赋初值。p=a;是在已经声明了指针变量以后,再给它赋初值。这两者是有区别的,不能通用的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-11-25
这两个是一个意思
第一个前面的* 只是变量p的类型

c语言里 *p=a和p=a的区别?
在c语言里 *p=a 是使用在声明指针变量的同时给它赋初值。p=a;是在已经声明了指针变量以后,再给它赋初值。这两者是有区别的,不能通用的。

C语言指针问题:在定义指针时*p=a和p=a有区别吗?
当然有区别,区别很大,*p=a,就是给指针的表示的地址赋值,也就是赋值给指针指向的存储单元;而p=a,则表示给指针赋值,也就是指针的地址变成了a。两者一个指明了具体值大小,一个指明了具体位置。

C语言*p=a和p=a的区别
c++语言是c语言发展起来的,所以继承了c语言几乎所有的特点,但c++语言又有自己的个性。c语言是一种面向过程的编程语言,而c++主要是面向过程的,因此c++有类的概念,而c语言就没有。c++的功能强大,编译器复杂,适合高端程序的设计和编辑,c语言的编译器简易,适合低端程序。

C语言指针int a=10,*p,**p;在这儿p=a,*p=a,**p是一样的么?说详细...
不一样的,p=a,是表示p的指针指向a的地址,*p=a,表示a地址里面的内容,也就是10. 我们不能写p=10,只能写*p=10, **p=p,***p=*p,这个是我培训时学到的,意思和前面一样,p指向某个地址,*p指向某个地址里面的内容,这样记就好了,望采纳。。

a是数组名p是指针那*p=a和p=a有什么区别
首先你要明白,a是个十六进制的地址常量,a其实就是a[0]这个数值的地址,也就是a=&a[0] , p这个字母一般把它定义为地址, *p就是p指向的数值的值,你却把一个值定义为一个地址(*p=a 这种写法是错误的),不符合常理。不能这样定义, 只可定义为p等于a ,也就是*p等于a[0],p指向a...

int a[9],*p; 那么p=a;和*p=a有什么区别啊?
int *p=a;\/\/这是在定义的时候就把a赋给p p=a;\/\/这是在运行时 把a赋给p 这两句的效果是一样的,只是赋值的时间不同 a是数组,执行以上两句时,是把数组的首地址赋给指针p

int a[10],*p *p=a 和p=a 有什么区别
*p=a;就是错误的了,因为*p是int型,而a是int *型,等号两端类型不匹配,编译不会过的……但是在定义时可以综合写成int a[10],*p=a;,这和int a[10],*p; p=a;是等价的——因为int a[10],*p;中的*是int *的组成部分,表示整型指针,即int *的意思。

C语言中*p=a[0]与p=a[0]有什么区别?
有啊,*p是个指针,他储存的是一个变量的地址。你把A[0]里的数据赋给他,是储存在那个变量中,不是在存*p中。另一个P是个变量,A[0]中的数据时存在P中 例如:int *p;p=&b;p=a[0];b==a[0] 值是放在b中 另一个是放在P中 ,不同的 ...

c语言数组中*p=a,与p=&a[0],有什么区别?跪求!!!
如果a是数组,那么没区别,都指向数组第一个元素

在C语言中,表达式:*p=a[0]与p=a[0]有什么区别?
对于指针来说,p = a[0],表示向地址为p的内存区域赋值为a[0]。p = a[0],把变量p的值改为a[0],这个语句正常应用中是错误的。变量p的值为内存地址,这样赋值会丢掉p原来指向的内存。正确给内存地址赋值应该使用第一句。

相似回答