若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。
①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。
②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。
第1题:
若要用下面的程序片段使指针变量p指向—个存储整型变量的动态存储单元 int *p; p=______malloc(sizeof(int)); 则应填入______。
A.int
B.int*
C.(*int)
D.(int*)
第2题:
以下叙述中正确的是()
A.int *p1; int **p2; int ***p3; 都是合法的定义指针变量的语句
B.指针变量只能通过求地址运算符(&)来获得地址值
C.语句p = NULL; 与p = 0; 是等价的语句
D.语句p = NULL; 执行后,指针p指向地址为0的存储单元
第3题:
若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()
A.p=2*(int *)malloc (sizeof (int));
B.p=(int *)malloc (2*sizeof (int));
C.p=(int *)malloc (2* sizeof (0)));
D.p= (int*)calloc(2,sizeof (int));
第4题:
以下叙述中正确的是()
A.int* p1; int ** p2; int *p3;都是合法的定义指针变量的语句
B.指针变量只能通过求地址运算符(&) 来获得地址值
C.语句p=NULL;与p=0;是等价的语句
D.语句p=NULL;执行后,指针p指向地址为0的存储单元
第5题:
若有定义和语句“double r=99, *p=&r; *p=r;”,则以下正确的叙述是 。
A.以上两处的*p含义相同,都是给指针变量p赋值
B.在“double r=99, *p=&r;”中,把r的地址赋值给了p所指的存储单元
C.语句“*p=r;”中,把变量r的值赋给指针变量p
D.语句“*p=r;”中,将变量r的值赋给p所指向的存储单元