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

Linux C语言结构体

雷过就跑 移动开发工程师
难度初级
时长 1小时30分
  • 编译四个步骤
    查看全部
  • 预处理做到第一件事情就是展开头文件
    查看全部
  • 参与运算的两个数必须是整型int或字符型char; 按位与&:(都是1才是1) 应用:迅速清零(a&0); 取特定位; 判断奇偶性(a&1=1为奇数 0为偶数);
    查看全部
  • 左移n位,把数值乘2的n次方。
    查看全部
  • 动态链表的建立
    查看全部
  • 1.union共用体的长度是所有成员中占内存最长的一个成员的长度,初始化时只能有一个常量(同一时刻只能存储一个成员的数据,且各成员共用一个地址)。<br> 2.struct长度=最后一个成员大小+最后一个成员偏移量+填充值;结构体中的成员的偏移量需是自身长度的整数倍(不够就填充);结构体总长度必须是占内存最大的成员的长度的整数倍。
    查看全部
    0 采集 收起 来源:Linux C公用体

    2018-03-22

  • 偏移量:结构体内变量地址跟首地址的距离(字节)。
    查看全部
    0 采集 收起 来源:Linux C公用体

    2016-01-24

  • struct weapon *w; w=&weapon_1; (*w).name 和 w->name 和 weapon_1.name 等价.
    查看全部
    0 采集 收起 来源:结构体指针

    2018-03-22

  • 位运算符: &:按位与; |:按位或; ^:按位异或; ~:按位取反; <<:左移; >>:右移;
    查看全部
  • 1.递归:将一个问题规模为n的问题降为规模为(n-1)的问题,然后依次降低规模(层层往下),直至问题得到低规模的解,之后依次带入高规模的问题中(层层往上),最终得到规模为n解。 从n -> 1 -> n; 2.递推:先构造解决一个低的规模问题,然后依次(层层往上)推导出高规模的问题解。 从1 -> n;
    查看全部
  • 位运算符 参与运算的两个数必须是整型int或字符型char;必须以补码(int a=4:00000000 00000000 00000000 00000100)的形式出现!<br> 1.按位与&:(都是1才是一) 应用:迅速清零;取特定位;判断奇偶性(a&1?) 2.按位或|:(有一个一就是一) 应用:设定数据的指定位(将某些位设置为1,a|0×FF即为将低8位设置为1,0×FF即11111111)。 3.按位异或^:(两个不一样才是一) 应用:定位取反(a^0×FF,低八位取反:1变成0,0变成1); 交换数值(a=a^b;b=b^a;a=a^b); 4.按位取反~: ~(0000 1001)=(1111 0110) 5.左移(高位舍弃,低位补零)、右移(低位舍弃,高位视情况而定{若符号位是0则补零,若是1则根据不同的系统有不同处理}): int a=3;//00000000 00000000 00000000 00000011 a=a<<4;// 00000000 00000000 00000000 00110000 左移:左移n位,相当于乘以2的n次方; 右移:右移n位,相当于除以2的n次方(最低结果是0,不会得出小数);
    查看全部
  • 结构体数组 定义 struct weapon weapon_2[2]={{"m16",50,100},{"m4a1",100,200}}; 引用 weapon_2[0].name
    查看全部
  • 定义struct weapon{ char name[20]; int atk; int price; }; 赋值struct weapon weapon_1={"weapon_name",100,200}; 使用printf("%s,%d,%d",weapon_1.name,weapon_1.atk,weapon_1.price);
    查看全部
  • 1.%p 一般以十六进制整数方式输出指针的值,附加前缀0x 2.共用体的作用就使不同的类型的变量共享同一个地址,好处是节省开销,缺点是同一时刻仅仅能存储一个成员。 共用体的大小是所有成员中占内存最长的长度,初始化时只能有一个常量。 3.结构体对象所占的空间大小涉及到一个字节对齐的问题。字节对齐的目的是让计算机快速读写,是一个以空间换取时间的方 式。 结构体对象的大小= 最后一个成员的偏移量+最后一个成员变量的大小+填充字节<br><br> 结构体做字节对齐的时候有这样一个准则:当前成员的偏移量(距离结构体起始地址的距离)必须是成员变量大小的整数倍,不是的话在后面填充字节。<br><br> 最后还要判断结构体大小是不是成员中最大的单元的整数倍不是的话还要填充。
    查看全部
    0 采集 收起 来源:Linux C公用体

    2018-03-22

  • 三种方式定义结构体: 1.struct weapon{ char name[20]; int atk; int price; }; struct weapon weapon_1; 2.1.struct weapon{ char name[20]; int atk; int price; };weapon_1; 3.struct { char name[20]; int atk; int price; }weapon_1; 第三种定义方式无法再定义下一个结构体变量了。
    查看全部

举报

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

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