*p=&a和p=&a 数组名和指针的区别?
数组名和指针的区别?
数组和指针之间的区别:数组名称确实表示指向数组第一个地址的指针,但是这个指针非常特殊。它的值(指针的值指指针的地址)不能重写。可以重写的只是它所指向的内容。换句话说,数组名只能指向数组的第一个地址。如果存在数组char a[],则如果出现a=a,则这是一个编译错误。对于普通指针,这是可能的。例如,如果有一个数组char a,那么定义char*P=a然后P=p1是合法的,这意味着指针P指向&A[1]。它们之间的第二个区别是,每当使用数组名的指针时,系统都会传入数组的信息,而普通的指针只是一个4字节的整数,例如:
char a[5]char*P=a//指针a和指针P都指向数组a cout<< sizeof(a)< “#”<< sizeof(P)<<[endl
此时,运行结果是“5#4”
指针和数组的区别?
您好,指针指向一个内存,其中包含该内存的地址。数组也是一个指针,但是当它在开始时被定义时,它指向一个空内存(由系统给出,您可以安全地使用它),并且它是一个*const常量指针(请注意,它不是指向常量的指针)。只要声明了这个指针,它就不能再指向其他内存。此外,数组和指针都可以用括号运算符进行偏移。总而言之,指针和数组的本质是完全相同的,只是数组在开始时得到一块内存
*p=&a和p=&a 指针数组与数组指针详解 数组名和指针变量的区别
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。