下述动态建立链表结点的标准C语法语句,( )是正确的
A: p = (struct LNode)malloc(sizeof(struct LNode));
B: p = (struct LNode *)malloc(sizeof(struct LNode *));
C: p = (struct LNode)malloc(sizeof(struct LNode *));
D: p = (struct LNode *) malloc(sizeof(struct LNode));
A: p = (struct LNode)malloc(sizeof(struct LNode));
B: p = (struct LNode *)malloc(sizeof(struct LNode *));
C: p = (struct LNode)malloc(sizeof(struct LNode *));
D: p = (struct LNode *) malloc(sizeof(struct LNode));
举一反三
- 设有以下定义: struct node { int data; struct node *next; }*p; 则以下的语句中正确的是()。 A: p=malloc(sizeof(struct node)) B: p=(struct node *)malloc(sizeof(struct node)) C: *p=(struct node *)malloc(4) D: p=(struct node )malloc(sizeof(struct node))
- 有以下程序 #include struct NODE {int num; struct NODE *next; } main() {struct NODE *p,*q,*r; p=(struct NODE *)malloc(sizeof(struct NODE)); q=(struct NODE *)malloc(sizeof(struct NODE)); r=(struct NODE *)malloc(sizeof(struct NODE)); p->num=10;q->num=20;r->num=30; p->next=q;q->next=r; printf("%d ",p->num+q->next->num); } 程序运行后的输出结果是( )
- 中国大学MOOC: 对于如下语句struct node{ int id; struct node *next;}*p;p=(struct node*)malloc(sizeof(struct node)*10);如下说法正确的是
- 已有定义如下:struct node{ int data;struct node *next;} *p;以下语句调用malloc函数填空。使指针p指向一个具有struct node类型的动态存储空间。p = (struct node *)malloc(【 】);
- 给定一个带头结点的单链表,设L为头指针,结点的结构定义如下,试写一算法在该链表中删除元素值为e的结点,假设链表中没有元素值重复的结点并且e一定存在。 typedef struct Lnode{ int data; struct Lnode *next; } Lnode,*LinkList; //单链表结构 void (LinkList &L,int e ) { //在该函数中补充代码 }