链表节点指针做左值时的赋值可以理解为左值指向或链接。

1 用带指针的结构体类型来描述链接结点

typedef struct Lnode{ ElemType data; /*数据域,保存结点的值 */struct Lnode *next; /*指针域*/}LNode; /*结点的类型 */

2 结点的赋值(在堆上创建节点)

LNode *p, *q;p=(LNode*)malloc(sizeof(LNode)); p->data=20; p->next=NULL ;

3 指针指向或移动

LNode *Locate_Node(LNode *L, int key)/* 在以L为头结点的单链表中查找值为key的第一个结点 */ {  LNode *p=L–>next; while ( p!=NULL&& p–>data!=key)  p=p–>next; // 指针一移一个节点 if (p–>data==key)  return p; else  {  printf("所要查找的结点不存在!!");  retutn(NULL);  }}

4 结点的重新链接到某一个节点

5 结点的重新链接到某一个节点的下一个节点

LNode *create_LinkList(void)/* 头插入法创建单链表,链表的头结点head作为返回值 */ { int data ;LNode *head, *p;head= (LNode *) malloc( sizeof(LNode));head->next=NULL; /* 创建链表的表头结点head */ while (1) { scanf(“%d”, &data) ;if (data==32767) break ;p= (LNode *)malloc(sizeof(LNode));p–>data=data; /* 数据域赋值 */p–>next=head–>next ; //新建节点p链接到头结果的下一个节点,这里是NULL;head–>next=p ; // 头节点链接到p/* 钩链,新创建的结点总是作为第一个结点 */}return (head);}void Insert_LNode(LNode *L,int i, ElemType e)/* 在以L为头结点的单链表的第i个位置插入值为e的结点 */ {  int j=0; LNode *p,*q; p=L–>next ; while ( p!=NULL&& jnext; j++; }  if (j!=i-1)  printf("i太大或i为0!! ");  else {  q=(LNode *)malloc(sizeof(LNode)); q–>data=e;  q–>next=p–>next; //q链接到p的下一个节点(插入节点链后一段) p–>next=q; //p链接到q(节点前一段链插入节点) }}

链表节点操作要把握一个原则:先链后断;

-End-

结构体里有指针 scanf赋值_C++|链表中常见的链表节点指针操作相关推荐

  1. c 定义结构体时提示应输入声明_C|语法的合理性理解和分析

    试想如果你作为C语言或C语言编译器的的设计者,肯定不会任意设置语法规则,除了考虑不能有歧义以外,还会考虑其合理性. 1 效率是第一位的,安全处于次要位置 了解C语言"效率第一.安全次之&qu ...

  2. C语言 结构体里的元素前面有一点“.”代表什么意思?

    如: 答: 前面不加点也可以赋值,加 "."的话可以不考虑赋值顺序,比如可以先给resolution赋值,在给output赋值,可以写成这样: struct atag_tcc_en ...

  3. python 结构体数组_python实现结构体数组(初始化并赋值)

    标签: C语言中结构体数组概念及定义 一个结构体变量可以存放一个学生的一组信息,可是如果有 10 个学生呢?难道要定义 10 个结构体变量吗?难道上面的程序要复制和粘贴 10 次吗? 很明显不可能,这 ...

  4. 2020重学Go系列:反引号的妙用—结构体里的 Tag 标签

    转载地址:https://www.toutiao.com/i6854075652757422595/?tt_from=weixin&utm_campaign=client_share& ...

  5. Matlab 结构体之间相同字段的赋值

    Matlab 结构体之间相同字段的赋值 假设有两个结构体 main_subject 和 all_subject .其中 main_subject 中包含了某位同学的主修成绩和学号姓名信息,需要将这些信 ...

  6. python数组赋值给变量_python实现结构体数组(初始化并赋值)

    C语言中结构体数组概念及定义 一个结构体变量可以存放一个学生的一组信息,可是如果有 10 个学生呢?难道要定义 10 个结构体变量吗?难道上面的程序要复制和粘贴 10 次吗? 很明显不可能,这时就要使 ...

  7. C语言结构体里的成员数组和指针

    单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如 ...

  8. c结构体里的数组与指针

    /* 訪问成员数组名事实上得到的是数组的相对地址.而訪问成员指针事实上是相对地址里的内容 */ struct buf_str {int length;char buf[0]; };struct foo ...

  9. 结构体前面加星号_C语言中带星号的类型指针有哪些特性

    C语言中带星号的类型指针有哪些特性 指针是什么?很多人说,指针就是地址,那这么说的人肯定是对指针有所了解,他们这么说也不能说全错,我只能在这里说:"他们并没有真正学会指针,如果想学好指针,请 ...

最新文章

  1. 周立波贼经典的话1-10
  2. AngularJS基础01 从HelloWorld说起
  3. 【原】push过快的错误 (Pushing the same view controller instance more than once is not supported)...
  4. [转载]LM算法的实现
  5. Oracle(五)PL/SQL编程语言
  6. Linux 之 利用Google Authenticator实现用户双因素认证
  7. 【Linux】bash: groupadd: command not found a
  8. 100%抄袭!ICLR 2022投稿论文剽窃两篇顶会,程序主席放「实锤」严词拒稿!
  9. Ubuntu中mkdir失败,显示不存在此目录(mkdir: cannot create directory : No such file or directory)
  10. 去年直播android和ios打赏,iOS直播类APP上架历程
  11. 你所不知道的文件上传更安全的类型判断
  12. Surface Pro的MicroSDHC卡测速
  13. JAVA查询银行卡信息
  14. C语言8.14文曲星上的猜数游戏
  15. 游戏定制开发自建团队好吗?
  16. 幼儿园调查过程怎么写_如何写幼儿园调查问卷总结
  17. 摄像头网络直播方案LiveGBS部署问题 使GB28181实现无插件web直播
  18. 【数字图像处理】模拟Matlab的imresize()写一个你自己的imresize()函数,至少应实现‘nearest’和‘bilinear’两种方法
  19. java飞鸽传书_java简单版飞鸽传书
  20. 闲鱼卖家近期卖出后纠纷4次,请谨慎交易怎么办?

热门文章

  1. matlab求解复杂复数方程,用matlab求解一个两重积分方程(未知数在积分下限,含复数积分)...
  2. python语法问题
  3. vue的插值语法及el和data、methods语法释义
  4. python django model关联另一个实体类
  5. spark on yarn 内存分配详解
  6. gradle构建脚本、依赖、插件管理、生命周期进阶教程
  7. Docker中运行Springboot jar时的变量传递
  8. python3字典(Map)
  9. MySQL行转列完整SQL示例
  10. mysql多表统计查询示例