若指针p已正确定义,要使P指向两个连续的整型动态存储单元,不正确的语句是( )。
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)malloc(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)calloc(2,sizeof(int));
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)malloc(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)calloc(2,sizeof(int));
A.char*p;p=*s;
B.char*p;p=&s;
C.char*p=&s;
D.char*p=s;
若要使指针p指向一个double类型的动态存储单元,请填空。
p=______malloc(sizeof(double));
设有如下定义: struct sk { int a;float b; } data; int *p; 若要使p指向data中的a域,正确的赋值语句是()。
A.p=&a;
B.p=data.a;
C.p=&data.a;
D.p=a;
A.p=&a;
B.p=data.a;
C.p=&data.a;
D.*p=data.a;
为建立如下图所示的存储结构(即每个结点两个域,p是指向结点的指针域,data用以存放整型数),请将定义补充完整。
p data a struct list { 【 】; int data;}a;
下面的语句要使指针p指向一个double类型的动态存储单元,请填空。 p =【 】malloc(sizeof(double));
若已定义a为int型变量,则( )是对指针变量P的正确定义和初始化。
(A)int*p=a; (B)int*P=*a;
(C)int p=&a; (D)int*p=&a;
若已建立以下链表结构,指针P、S分别指向如图所示结点
则不能将S所指节点插入到链表末尾的语句组是
A.S->next="\0";p:P->next;P->next=s;
B.p=p->next;S->next=p;p->next=s;
C.p=P->next;S->next=p->next;P->next=s;
D.p:(*p).next;(*S).next=(*p).next;(*p).next=s;