设有以下定义: 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))
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(【 】);
- 对于如下语句struct node{ int id; struct node *next;}*p;p=(struct node*)malloc(sizeof(struct node)*10);如下说法正确的是 A: p.id=10实现给首节点的id成员赋值 B: *p.id=10实现给首节点的id成员赋值 C: (*p).id=10实现给首节点的id成员赋值 D: p=>id=10实现给首节点的id成员赋值
- 关于如下结构体struct node{ int id; struct node next;};如下说法正确的是 A: node为数据类型 B: sizeof(struct node)的值为8 C: 此结构体定义存在错误 D: struct 可以省略