[关闭]
@iwktd981220 2017-09-19T07:14:46.000000Z 字数 2108 阅读 306

需要发邮件问的问题列表

问问题


1、这个表达中,为什么可以直接 L->next = p;
这个表示的是L的next指针指向p的什么?

  1. LinkedList LinkedListCreatH()
  2. {
  3. Node *L;
  4. L = (Node *)malloc(sizeof(Node)); //申请头结点空间
  5. L->next = NULL; //初始化一个空链表
  6. ElemType x; //x为链表数据域中的数据
  7. while(scanf("%d",&x) != EOF)
  8. {
  9. Node *p;
  10. p = (Node *)malloc(sizeof(Node)); //申请新的结点
  11. p->data = x; //结点数据域赋值
  12. p->next = L->next; //将结点插入到表头L-->|2|-->|1|-->NULL
  13. L->next = p;
  14. }
  15. return L;
  16. }

2、输出下列三个值的不同,并标明输出的内容表示什么(表达是否正确):

  1. int main() {
  2. int i=0,o=2;
  3. int *pi =&i; //pi的内存指针指向i的地址
  4. printf("*pi :%i\n", *pi );
  5. *pi =1; //pi的内存指向1
  6. printf("%i\n", i );
  7. printf("pi:%p\n", pi ); //pi的内存地址
  8. pi=&o; //pi等于o的地址???
  9. printf("%i\n", pi); //输出pi的值
  10. printf("%p\n", pi); //输出指针pi储存的o的地址???
  11. printf("%i\n", *pi); //输出pi所指内存中的值(&o的地址),然后就等于*&o=2
  12. printf("%p\n", *pi); //输出指针pi
  13. return 0;
  14. }

3、在使用指针时出现了这样的error,无法解决

lianbiao.c: In function ‘main’:
lianbiao.c:17:5: error: ‘*l’ is a pointer; did you mean to use ‘->’?
l ->next = NULL;
^~
->
lianbiao.c:22:14: error: ‘*new_node’ is a pointer; did you mean to use ‘->’?
new_node -> next = l ->next;
^~
->
lianbiao.c:22:26: error: ‘*l’ is a pointer; did you mean to use ‘->’?
new_node -> next = l ->next;
^~
->
lianbiao.c:23:14: error: ‘*new_node’ is a pointer; did you mean to use ‘->’?
new_node ->num = x ;
^~
->
lianbiao.c: In function ‘delete’:
lianbiao.c:31:33: error: ‘*entry’ is a pointer; did you mean to use ‘->’?
for (size_t i = 1; i < entry->num -1; i++) {
^~
->
lianbiao.c:32:20: error: ‘*list’ is a pointer; did you mean to use ‘->’?
list = list->next;
^~
->
lianbiao.c:38:16: error: ‘*list’ is a pointer; did you mean to use ‘->’?
list = list->next;
^~
->
lianbiao.c:39:17: error: ‘*list’ is a pointer; did you mean to use ‘->’?
list = list ->next;
^~
->
lianbiao.c:41:7: error: ‘*o’ is a pointer; did you mean to use ‘->’?
o ->next = p;
^~
->

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct _list_t {
  4. int num;
  5. struct _list_t *next;
  6. }*list_t;
  7. list_t *delete(list_t* l,list_t *entry) ;
  8. int main() {
  9. list_t *l;
  10. list_t *new_node;
  11. list_t *list;
  12. list_t *entry;
  13. scanf("%i", l );
  14. l ->next = NULL;
  15. int x;
  16. while (scanf(" %i ", &x ) != EOF) {
  17. list_t *n;
  18. new_node=(list_t*)malloc(sizeof(list_t));
  19. new_node -> next = l ->next;
  20. new_node ->num = x ;
  21. }
  22. return 0;
  23. }
  24. list_t *delete(list_t *l,list_t *entry) {
  25. list_t *list;
  26. list = l;
  27. for (size_t i = 1; i < entry->num -1; i++) {
  28. list = list->next;
  29. }
  30. list_t *o,*p,*q;
  31. o = (list_t*)malloc(sizeof(list_t));
  32. *o = *list;
  33. p = (list_t*)malloc(sizeof(list_t));
  34. list = list->next;
  35. list = list ->next;
  36. *p = *list ;
  37. o ->next = p;
  38. return l;
  39. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注