为了账号安全,请及时绑定邮箱和手机立即绑定
  • 结构体数组
    查看全部
  • 按位与的作用: 1迅速清零(对于一个数中为1的位,让另一个数的相应位为0); 2保留指定位置(对另一个数的相应位置1); 3奇偶判断(和1做与运算)
    查看全部
  • 这视频是怎样发到笔记里的
    查看全部
  • typedef int tni;//给变量类型int起一个别名tni,要用分号结尾 typedef int*p; //给int *起别名p;int *q =NULL;相当于 p q=NULL;
    查看全部
  • c语言常量分为直接常量和符号常量: #define 标识符 常量值(没有分号) 宏的本质是在预处理阶段发生的单纯的字符串替换(宏替换); 在预处理阶段,宏不考虑语法;
    查看全部
  • 结构体是存放不同数据类型的集合,而数组是存放同种数据类型的集合。 三种定义方法: 1.声明和定义分离,像其他系统类型变量的定义一样。即: struct 结构体名 变量名; 2.声明的同时定义,但只适用于小程序,可读性低。即:struct 结构体名{}变量名; 3.声明时不指定结构体名称直接定义,但不能再定义其他变量。即:struct{}变量名;
    查看全部
  • 结构体————内存大小 结构体所在内存大小设计字节对齐的问题,以空间换取时间,其目的是加快计算机执行速度。第一个成员变量的地址为该结构体的首地址,每一个成员变量地址距离首地址的内存长度叫偏移量,字节对齐,要求每一个结构体成员的偏移量是自身所占字节长度的整数倍,若不是整数倍则编译器会进行字节填充,使之“对齐”。在所有成员判断完成后,这还没完,还要判断目前该结构体的长度是否是最宽基础成员变量的整数倍,若否,则最后一个成员变量后面还要进行字节填充,若是整数倍则可得出该结构体所在内存单元的长度。【最后成员的偏移量+最后成员占得字节数+字节填充】 共用体————共享内存单元,一次只存一个成员变量(可是不同类型)。 关键字:union 共用体名{int a; char b; int c;}; 内存长度:等于成员变量中最长的一个的长度。
    查看全部
    1 采集 收起 来源:Linux C公用体

    2017-03-05

  • 左移<<n位,就是将它的值乘以2的n次方 高位舍弃,低位补零 应用:实现2倍乘运算(按位移运算比乘法优先级高) 右移>>就是除以2的过程 根据符号位进行补0补1
    查看全部
  • 注意此处的递归调用,由于是int类型,int表达范围有限,4字节bytes,也就是不能超过31。得到的结果才准确。
    查看全部
  • 编译的四个步骤:.c文件—>.i文件(预处理)->.s文件(编译)->.o文件(汇编)->可执行文件(链接)
    查看全部
  • 按位与 迅速清零 迅速清零 取某个数 判断奇偶
    查看全部
  • 1.递归:将一个问题规模为n的问题降为规模为(n-1)的问题,然后依次降低规模(层层往下),直至问题得到低规模的解,之后依次带入高规模的问题中(层层往上),最终得到规模为n解。 从n -> 1 -> n; 2.递推:先构造解决一个低的规模问题,然后依次(层层往上)推导出高规模的问题解。 从1 -> n;
    查看全部
  • 建立动态链表: #include <stdio.h> #include <malloc.h> // struct weapon { int price; int atk; struck weapon * next;//指针变量 存放下一个节点地址 } // struct weapon * create(){ struct weapon * head;//头指针 struct weapon * p1,*p2;//p1 当前新创建节点,p2上一个节点 int n=0;//记录当前节点个数 //使用malloc函数(malloc分配内存块的函数,sizeof判断数据类型长度) p1=p2=(struct weapon *)malloc(sizeof(struct weapon));//使用malloc函数开辟第一个节点 scanf("%d,%d",&p1->price,&p1->atk);//第一个节点单独赋值 head = NULL;// //约定price为0,就不把节点链接入列表(结束) while(p1->price!=0){ n++ if(n==1) head=p1;//第一次时,指向头指针 else p2->next=p1; p2=p1 p1=(struct weapon*)malloc(sizeof(struct weapon));//开辟新的存储区 scanf("%d,%d",&p1->price,&p1->atk); } p2->next =NULL; return (head); } int main(){ struck weapon a,b,c, *head; p=create(); printf("",p->atk,p->price); return 0; }
    查看全部
  • 20161013 LinuxC语言结构体 2-1 预处理 gcc -o helloworld.i helloworld.c 执行过程如下: .c文件 -> (预处理).i文件 ->(编译) .s文件 ->(汇编).o文件 ->(链接)可执行文件 gcc -o helloworld.i helloworld.c -E (只进行预处理,生成.i文件 ) 预处理: 1.展开头文件(如 展开 include <stdio.h>的内容) 2.宏替换:本质就是发生在预处理的单纯的字符串替换 注释 宏定义: 就是常量,数组buffer。不以分号结尾 #define R 10(此处 10为字符串) 宏函数特点:不考虑C语法 ,不受返回值类型限制。
    查看全部
  • 20161013 LinuxC语言结构体 2-1 预处理 gcc -o helloworld.i helloworld.c 执行过程如下: .c文件 -> (预处理).i文件 ->(编译) .s文件 ->(汇编).o文件 ->(链接)可执行文件 gcc -o helloworld.i helloworld.c -E (只进行预处理,生成.i文件 ) 预处理: 1.展开头文件(如 展开 include <stdio.h>的内容) 2.宏替换:本质就是发生在预处理的单纯的字符串替换 注释 宏定义: 就是常量,数组buffer。不以分号结尾 #define R 10(此处 10为字符串) 宏函数 #define N(n) n*10 #define M int main( #define ADD(a,b) (a+b) int add(int a,int b){ return a+b; } M){ int a=20; int b= N(a); printf("b=%d\n",b);// int b = a*10; int e = ADD(a,b)*ADD(a,b); printf("e=%d\n",e);// int b = a*10; return 0; } 宏函数特点:不考虑C语法 ,不受返回值类型限制。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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