首页/ 题库 / [单选题]有以下结构体说明和变量的定义,且指针p指的答案

有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )。 struct node {chardata; struct node if next; }a,b,*p:&a,*q=&b;

单选题
2023-03-05 15:26
A、a.next=q;
B、p.next=&b;
C、p->next=&b:
D、(*p).next=q;
查看答案

正确答案
B

试题解析
解析: 要把结点b连接到结点a之后,必须把b的地址给a的next指针,选项A中,指针变量q保存的就是变量b的地址,选项B中的p是指针变量,应该是p->next=&b;在选项D中,用*运算符取出结构体变量,并且保存的就是b的地址,所以正确。

标签:
感兴趣题目
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。把该结点插入链表的尾部,释放指针s的指向。
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。新开辟一个结点,使指针s指向该结点,结点的数据成员data赋值为1。
设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。
对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该结点赋值a,则执行:p=(structnode*)malloc(sizeof(structnode));p->data=a;和()。
有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是( )。struct node {char data; struct node*next;}a,b,*p=&a,*q=&b;
设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句()。
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。已知p1指向另一个新结点,把它插入到p所指结点和尾结点之间。
有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是(  )。
structnode
{chardata;
structnode*next;
}a,b,*p=&a,*q=&b;
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )。 struct node {chardata; struct node if next; }a,b,*p:&a,*q=&b;
假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。
设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。
相关题目
在双向循环链表中,在p指针所指向的结点前插入一个指针q所指向的新结点其修改指针的操作是( )。(双向链表的结点结构是llink,data,rlink)
在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行( )操作。
在一个带头结点的循环双向链表中,若要在指针p所指向的结点之后插入一个q指针所指向的结点,则需要对q->next赋值为( )。
指向与文件参数有关的结构体类型的指针变量称为( )
若有定义和语句:int a,b;
scanf("%d,%d,",&a,&B.;
以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是
假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。
若要说明x是整型变量,p为指向x的整型指针变量,则正确的说明是______。
指针是用来存放某种变量的地址值的变量.这种变量的地址值也可以存放在某个变量中,存放某个指针的地址值的变量称为指向指针的指针,即二级指针。
以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是main(){ int *p,*q,a,b; p=&a; printf("input a:"); scanf("%d",*p);}A.*p表示的是指针变量p的地址 B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值 D.*p只能用来说明p是一个指针变量
已有函数max(a,b),为了使函数指针变量p指向函数max,则下面选项中赋值方法正确的是( )。
设有语句:“int a=1,b=2,*p1=&a,*p2=&b;”,则使指针p1指向变量b的赋值语句是______。
设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。
设指针变量p指向单链表中某结点A,则删除结点A的后继结点需要的操作为()(不考虑存储空间的释放)。
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的单链表结点之后,下面的操作序列中正确的是( )
在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是()。
在双向循环链表中,在P指针所指向的结点前插入一个指针q所指向的新结点,其修改指针的操作是(55)。
双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱,如果要在p所指结点后插入q所指的新结点,操作序列正确的是( )。
设有定义:int x,*p;,能使指针变量p指向变量x的语句是()
在一个单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行下面哪条语句?( )
在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行____。
广告位招租WX:84302438

免费的网站请分享给朋友吧