指针变量*p=100为什么可以

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 17:01:45
指针变量*p=100为什么可以
P是指针变量,那么P[i]什么意思?为什么P[i]等价于*(p+i) 求高手详解!谢谢

数据名实质上是一个指针常量(即一个具体的地址值).当把一个指针变量p指向一个数组A[]时,其实就是把数组名A这个指针常量赋给了指针变量p,此时p与A是等价的,p[i]即A[i].而指针变量的+1操作,

若变量已经正确定义并且指针p已经指向变量x,则*&x相当于什么

&x是指x的地址,相当于指针p,指针p前加*以后就表示指向指针的指针

c语言,普通变量可以接收指针变量地址吗 int x *pa x=pa:可以吗 有什么定义依据

这样做很不好,你可以在编译器下试试,这种做法编译器都不允许,更何况咱们自己分析呢,intx;实在栈区分配的内存,因为这是属于静态区的变量而int*pa;是动态堆区变量,两个所属区域都不同,赋值肯定是有

为什么指针变量不可以做位运算

楼主肯定是想要这个!须注意的地方:赋值双方的类型必须相同!》》》对于人,才有void,int,float,int*.等类型,对于机器,一切皆为0,1!顺便提醒一句:玩弄奇技淫巧者,小人也!楼主不要走火

求讲解两道C语言的题59.若变量已正确定义,( A )不能使指针p成为空指针.A.p=EOF B.p=0 C.p=’\0

p=EOF,p不是空指针.EOF定义是-1.其他三个p都等于0.指针可以相减,获得两指针之间的距离,就是相隔多少个指针类型的数据.可以赋值,可以比较指针是否相等.但不能相加.赋值语句*pa=&a是将a

为什么一维数组a[i]指针p,可以有p=a;但是当二维数组a[i][j]时却不可以p=a

二维数组里的a是二维指针,其实二维指针有两个指针,行指针与列指针,你定义的指针p只是一维指针,如果你这样定义p:int(*p)[3],这就是一个二维指针变量,就可以用p=a了,再问:二维指针是不是就是

两个相同类型的指针变量能不能相加,为什么?

两个指针相加,没有意义.就好像宾馆房号一样,两个房号相加,没有意义,但房号可以加上一个整数,你住在601房间,我的房间标号比你的大5.

既然(指针变量)*p=100是错的,那为什么*P1=*P2就可以呢?

//int *p=100 是错的int v;int *p=&v;*p=100;//是对的int *p2=&v;//int *

任何类型指针指向的变量的类型相同才能进行比较,为什么任何类型的指针都可以和NULL进行比较?

#defineNULL(void*)0因为NULL是(void*)类型,而任何指针都可以(显性或隐性地)转化成(void*),这使得比较成为可能.int(*p)(int);//函数指针,可以用来指向任

若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组

首先(*p)[3]是一个指针数组,意思就是p这个指针是指向一个含有3个元素的数组的,那么p指针每一次加1就相当于把p中存的地址加6(前提是int类型占2个字节,在VC中是占4个字节).举个例子:int

再给指针变量(*p)赋空值(NULL)时,*p=NULL与p=NULL哪个正确?原因?

*p=NULL是将p指向的内存赋值为NUll,而p本身不会变.p=NULL是改变了p本身的值,将它指向的地址改为NULL满意请采纳!再问:但是地址有NULL么,好像没有这个地址吧?再答:就是没有这个地

为什么定义指针变量时要定义其类型

虽然所有的指针都只占四个字节,但不同类型的变量却占不同的字节数.一般来说,int占四个字节,char占一个字节.如果定义指针变量不定义类型,那么它在取*也就是取其中的值的时候,就不知道应该读取几个字节

*p=&a 是什么含义,谁是指针变量,*p还是p

inta=1;int*p=&a;p是指针变量,p指向a;(注:此时*p表示p指向a的值,即*p和a值是一样的)//当然也可以通过p改变a的值*p=3;//此时a也等于3

如果p是个指针变量,为什么P[i]回完全等价与*(p+i)

c语言p[i]中的中括号[]不是标点符号,而是地址“运算符”(C语言奇葩之一).p[i]地址等于p+i执行下面语句,可以看看,它们是地址,两种计算方法得到的一样吧!doublep[]={1,2,3,4

P是指针变量,p=a,其中a等价于什么?

a是一个地址(例如是数组名),当然也能是一个指针变量.再问:a�ȼ���&a[0]��再答:�ȼۣ���Ϊ��������ǵ�һ��Ԫ�صĵ�ַ��再问:�Dz��Ǿͱ�ʾ��һ��Ԫ�أ������Ԫ

指向常量的指针也可以指向变量,为什么?既然指向变量,变量的值可以改变,那么不是很矛盾吗?

const在程序中都不是声明常量的意思,而是表示只读,下面代码就不能*p1=这样来赋值

为什么定义一个指针时,可以写成指针不等于0呢?如char *p,后面有句这样的 if(p!=0),可以写成if(p!=N

NULL是一个事先定义的宏#defineNULL0所以二者写法等价.为什么常见指针这样比较,而不是其他整形这么写?原因是约定俗成,一般的,NULL表示空指针.事实上你也可以这么来:inta;if(a!

14.若变量已正确定义,(A)不能使指针p成为空指针.A、p=EOFB、p=0C、p=’’ D、p=NULL 理由哈

EOF是一个宏,原型是#defineEOF(-1)第二项:0与null都是空值.第三项:只是一个'\0',也是空值.第四项:不用说了吧