为了账号安全,请及时绑定邮箱和手机立即绑定
  • 结构体————内存大小 结构体所在内存大小设计字节对齐的问题,以空间换取时间,其目的是加快计算机执行速度。第一个成员变量的地址为该结构体的首地址,每一个成员变量地址距离首地址的内存长度叫偏移量,字节对齐,要求每一个结构体成员的偏移量是自身所占字节长度的整数倍,若不是整数倍则编译器会进行字节填充,使之“对齐”。在所有成员判断完成后,这还没完,还要判断目前该结构体的长度是否是最宽基础成员变量的整数倍,若否,则最后一个成员变量后面还要进行字节填充,若是整数倍则可得出该结构体所在内存单元的长度。 共用体————共享内存单元,一次只存一个成员变量(可是不同类型)。 关键字:union 共用体名{int a; char b; int c;}; 内存长度:等于成员变量中最长的一个的长度。
    查看全部
    2 采集 收起 来源:Linux C公用体

    2016-10-31

  • & 按位与: 1. 迅速清零 2. 保留高8位或低8位 3. 判断奇偶
    查看全部
  • 共用体的作用就使不同的类型的变量共享同一个地址,好处是节省开销,缺点是同一时刻仅仅能存储一个成员。 共用体的大小是所有成员中占内存最长的长度,初始化时只能有一个常量。 结构体对象所占的空间大小涉及到一个字节对齐的问题。字节对齐的目的是让计算机快速读写,是一个以空间换取时间的方式。 结构体对象的大小= 最后一个成员的偏移量+最后一个成员变量的大小+填充字节 结构体做字节对齐的时候有这样一个准则:当前成员的偏移量必须是成员变量大小的整数倍,不是的话在后面填充字节。 最后还要判断结构体大小是不是成员中最大的整数倍不是的话还要填充。
    查看全部
    1 采集 收起 来源:Linux C公用体

    2016-03-26

  • 就像厕所,很多人用,但不能同时用
    查看全部
    1 采集 收起 来源:Linux C公用体

    2016-03-26

  • #define MIN(x,y) ((x)<(y)?(x):(y))<br><br><br> #define LOWER(ch) ((ch)>='A'&&(ch)<='Z'?(ch)+32:(ch))<br><br> int main()<br><br><br> {<br><br> printf("%d",MIN(3,5));<br><br><br> }<br> <br> #define PREINT(a,b) printf(#a"=%d"#y"=%d",a,b)//a自动移动到引号里面,#自动删除 ,最后为:printf("a=%d,b=%d",a,b);<br> int main()<br> {<br> int a=100;b=100;<br> }//结果为:a=100,b=100
    查看全部
  • 链表包含一个头指针指向该链表的第一个元素;每个元素包括两个部分,该元素包含的内容和指向链表下一个元素地址的指针;最后一个元素的指针为NULL.
    查看全部
  • 结构体长度的计算:<br> 如结构体:<br> struct data{<br> int a;<br> char b;<br> char c;<br> };<br> int a的长度为4,偏移量为0,0是4的整数倍,不用填充;<br> char b的长度为1,偏移量为4,4是1的整数倍,不用填充;<br> char c的长度为1,偏移量为5,5是1的整数倍,不用填充;<br> 整个结构体目前占用的总空间为6,结构体中最长的元素为int a(4个字节),而6不是4的整数倍,所以需要填充2个字节,最后结构体的长度为8个字节
    查看全部
    1 采集 收起 来源:Linux C公用体

    2018-03-22

  • 声明共用体变量,类似于结构体。union data data_1;里面包括a b c三个元素,该共用体和其三个成员所占内存地址相同。可用如下方式打印出来。 printf("%p\n,%p\n,%p\n",&data_1.a,&data_1.b,&data_1.c);
    查看全部
    1 采集 收起 来源:Linux C公用体

    2018-03-22

  • Union联合体的所有成员共享同一个内存空间,在同一时刻,只能存储一个成员的值。可以节省内存开销。 union的大小计算方法: union的大小为union中所有成员中最大的成员的值 struct的大小计算方法: struct data{ int a; char b; int b; }; 涉及到字节对齐的问题,字节对齐的目的,主要是为了让计算机能够快速读写,是一个以空间换取时间的方法,对于结构体对象的大小,有公式:结构体大小 = 最后一个成员的偏移量 + 最后一个成员的大小 + 末尾的填充字节数 -->最后得到的大小就是所有成员中最宽的基本数据类型的整数倍。 偏移量:某一个成员的实际地址和这个结构体的首地址之间的距离 计算偏移量的一个准则:每一个成员相对于首地址的偏移量都必须是自身类型大小的整数倍 union与struct的区别: 1. union的所有成员共用一个内存空间,struct成员有独立的存储空间; 2. union变量在初始化的时候,初始化列表中只能有一个值,而struct变量的初始化列表中可以有多个值; 3. 所占用的内存长度不一样 4. union成员变量的地址都是一样的。
    查看全部
    1 采集 收起 来源:Linux C公用体

    2018-03-22

  • typedef 定义数据类型别名 如: typedef int nti;
    查看全部
  • #define add(a,b) (a+b) //最好加上括号
    查看全部
  • 预处理的时候还有宏替换的过程
    查看全部
  • 预处理就是展开头文件
    查看全部
  • 生成可执行文件过程
    查看全部
  • 递归调用 再调用函数过程中,被调用的函数调用它本身的过程
    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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