假定指针变量p定义为"int*p=new int:"

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 08:14:47
设有如下定义:int a,*p,*p1 = NULL,*p2 = NULL,sum[2] = {1,2};以下指针变量p

选B因为&a是一个指向数组的指针,而p是一个指向整型的指针,二者不是同一个概念.

假定有以下变量定义:int k=7 ,x=12; 则能使值为3的表达式是 A) x%=(k%=5)

D(x%=k)-(k%=5)(x%=k)就等价于(x=x%k)即12%7即5(k%=5)就等价于(k=k%5)即7%5即25-2等于3

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

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

已知数组A和指针p定义为:int A[20][10],*p;,要使p指向A的首元素,正确的赋值表达式是[ ].为什么选择

含有p=A[0][0]的肯定错误,因为p是指针,A[0][0]是第一个元素的值,即A、C错误p=&A[0][0]即&A[0][0]的地址给p,肯定正确p=A[0]是正确的,因为二维数组可以看成多个一维

假定变量b和pb定义为“int b[10],*pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C ).

虽然在很多方面数组和指针都能处理同样的问题,但他们之间有个本质的不同.数组b是指针常量,不是变量.所以想a=p、a++和a+=2这样的表达式都是非法的,不能改变指针常量b的值指针运算是c与语言的重要特

假定有以下变量定义:int k=7 ,x=12; 则能使值为3的表达式是 A) x%=(k%=5) B)

x%=(k%=5)为0x%=(k-k%5)为2x%=k-k%5为2(x%=k)-(k%=5)为3D.

(27)若有定义int(*Pt)[3];,则下列说法正确的是 A)定义了基类型为int的三个指针变量 B)定义了

(27)若有定义int(*Pt)[3];这种声明可以先把变量名字去掉,也就是int(*)[3],对于*可以这样理解,char*s等同于chars[],所以可以理解为intpt[][3],也就是D中的解

假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C ).

是数组指针,它实际上是指针常量,可以理解为constint*b.所以它的指向是不允许被修改的,++b操作违反了这个规定,运行后会修改b的指向,是不被允许的.所以C不正确.

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

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

设变量定义为 “int x,*p=&x;” ,则 &*p 相当于 __ .

选A因为p=&x*p=*&x&*p=&*&x一个*和一个&抵消了,因此&*&x=&x

设变量定义为“int x,*p=&x;”,则&*p相当于_____.A、p B、*p C、x D、*&x

选择A因为*p是指针.当x的地址赋值个指针p的时候,他们的地址就一样(数值也是一样).指针的话,要表示数值的话用用*p,指地址的话,只要p就可以.如果加地址符号&,那就值该指针的地址(&*p),也就是

假定以下定义变量:int k=7,x=12;则能使值是3的表达式是

(1)执行x*x,此时x=6,执行完x*x=36(2)执行x-=36,此时x=6,结果x=-30(3)执行x+=-30,此时x=-30,结果x=-60所以最终的结果是-60

关于指针变量的问题首先定义数组int a[3];如果把a赋给一个指针变量p,那么p该如何定义?我觉得a是指向行的,而&a

1.p的定义:int*p=a;//指针p指向数组a的起始地址;2.你可以把a怎么是指向行的?,a是一个一维数组,不是二维数组.你可以理解为a是指向数组的首地址就可以了,a就指向数组的第一个元素a[0]

设变量定义为“int a[2]={1,3},*p=&a[0]+1;”,则*p的值是____,若*p=&a[0]++,则*

*p=&a[0]+1=a[1];p指向地址的值为3第二个编译就通不过,因为++时程序员要求改变地址,这显然不可能.inta[2]={1,3},*p;p=&a[0];p++;这才合法.