为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Linux C语言结构体_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Linux C语言结构体

雷过就跑 移动开发工程师
难度初级
时长 1小时30分
  • 动态数据结构————动态链表(代码2) 运行的时候,根据输入开辟新的内存空间。
    查看全部
  • 动态数据结构————动态链表(代码1) 运行的时候,根据输入开辟新的内存空间。
    查看全部
  • 引入头文件:#include <malloc.h>
    查看全部
  • 动态数据结构————静态链表 静态链表结构体使用基本代码。 每一个结点都是在程序中定义的而不是临时开辟的。
    查看全部
  • 共用体————打印地址
    查看全部
    0 采集 收起 来源:Linux C公用体

    2016-10-11

  • 结构体————内存大小 结构体所在内存大小设计字节对齐的问题,以空间换取时间,其目的是加快计算机执行速度。第一个成员变量的地址为该结构体的首地址,每一个成员变量地址距离首地址的内存长度叫偏移量,字节对齐,要求每一个结构体成员的偏移量是自身所占字节长度的整数倍,若不是整数倍则编译器会进行字节填充,使之“对齐”。在所有成员判断完成后,这还没完,还要判断目前该结构体的长度是否是最宽基础成员变量的整数倍,若否,则最后一个成员变量后面还要进行字节填充,若是整数倍则可得出该结构体所在内存单元的长度。 如图中结构体成员int c之前就需要填充3个字节。该结构体所占内存单元长度为12字节。
    查看全部
    0 采集 收起 来源:Linux C公用体

    2016-10-11

  • 共用体————共享内存单元,一次只存一个成员变量(可是不同类型)。 关键字:union 共用体名{int a; char b; int c;}; 内存长度:等于成员变量中最长的一个的长度。
    查看全部
    0 采集 收起 来源:Linux C公用体

    2016-10-11

  • /* * 动态链表 */ #include <stdio.h> #include <malloc.h> struct weapon { int price; int atk; struct weapon* next; }; //声明一个其返回值为指向weapon结构体的指针的函数,struct weapon* 表示返回值类型 struct weapon* create(){ struct weapon* head; //链表的头,也就是第一个指针 struct weapon* p1, * p2; //声明两个指针变量,用作交换 p1 = (struct weapon*)malloc(sizeof(struct weapon)); //从系统请求一定大小的内存空间,并获取该空间的地址,用该地址声>明一个指向weapon结构体的指针 scanf("%d,%d",&p1->price,&p1->atk); head = NULL; int n=0; while(0 != p1->price){ n++; if(1==n) head = p1; else p2->next = p1; p2 = p1; p1=(struct weapon*)malloc(sizeof(struct weapon)); scanf("%d,%d",&p1->price,&p1->atk); } p1->next = NULL; return (head); } int main(){ struct weapon* p; p = create(); if( NULL != p ){ printf("%d,%d\n",p->price,p->atk); while( NULL != p->next){ p = p->next; printf("%d,%d\n",p->price,p->atk); } return 0; }else{ fprintf(stderr,"error,no data\n"); return 1; } }
    查看全部
  • 1.递归:将一个问题规模为n的问题降为规模为(n-1)的问题,然后依次降低规模(层层往下),直至问题得到低规模的解,之后依次带入高规模的问题中(层层往上),最终得到规模为n解。 从n -> 1 -> n; 2.递推:先构造解决一个低的规模问题,然后依次(层层往上)推导出高规模的问题解。 从1 -> n;
    查看全部
  • 链表里,有一个head指针,存放指向第一个元素A的地址,剩下的每一个元素分两部分,一部分存储数据,另一部分存储指向下一个元素的地址。 数组中每个元素的地址都是连续的,但链表里的地址可能是连续的也可能上不连续的。 截图是c语言的链表的范例。
    查看全部
  • 数组的使用
    查看全部
    0 采集 收起 来源:结构体指针

    2016-10-08

  • 使用结构体成员的三种方法,struct* p; p=&s; (*p).number , p->number , s.number
    查看全部
    0 采集 收起 来源:结构体指针

    2018-03-22

  • 结构体的指针,使用成员变量是,用法是: (*p).number ,因为成员运算符" . " 优先级最高
    查看全部
    0 采集 收起 来源:结构体指针

    2018-03-22

  • 结构体初始化、引用的过程
    查看全部
  • 小数点是成员运算符,运算符中优先级最高
    查看全部

举报

0/150
提交
取消
课程须知
本课程为C语言的中级课程 1、需要有一定的C语言基础,如有基础薄弱的童鞋可以看一下网站上其他3门C语言的课程 2、因在Linux环境下,需会一些Linux下的命令,可以看一下《Linux C语言编程原理与实践》此课。
老师告诉你能学到什么?
1、预处理是干什么的 2、结构体是什么 3、公用体是什么 4、位运算是怎么回事 5、如何实现动态数据结构体 6、递归的原理
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!