美文网首页
电商专业学习嵌入式软件开发第四十三天

电商专业学习嵌入式软件开发第四十三天

作者: 雨打梨花闭门寒 | 来源:发表于2017-03-16 23:16 被阅读0次
    • C项目第四天

    今天上午王老师给我们快速梳理了一下指针和链表的知识点,下午就开始帮我们梳理项目了,老师已经帮我们把大纲梳理完了,要求我们继续完善剩下内容,结果等到我们自己动手时发现还是有困难,思路清晰的很,就是写出来有困难,明天还要继续和王老师反应一下。

    指针:一种数据类型,这种数据类型的变量的空间存放的是另一个空间(T类型元素)的首地址。这种类型的变量被称为指针变量,有时候也称为指针。

    1.sizeof(T*)    4(平台)   <=32位机的都是4;64位机是8
    2.变量定义语句
        double *pd;
        1>给指针变量本身分配内存空间
        2>给空间命名
        3>定义指针指向的空间的内容
    

    分配内存空间的两种手段:
    1>静态分配:变量定义
    a.普通局部变量和形参
    栈区:先进后出
    b.全局变量和static局部变量
    数据区
    2>动态分配:
    堆区(malloc free)

    double *p1;
    double *p2;
    两个指针相加p1+p2没有意义
    只有同种类型的两个指针相减p1-p2有意义,得到的是两个指针中间相隔几个元素
    p1+n或p1-n有意义
    
    *
    1.乘法(双目)
    2.变量定义语句
        int *pi;
    3.间接访问运算符(单目运算符)
        即通过T类型的地址访问T类型的元素
    &
    1.位于(双目)
    2.取地址(单目):后面一定跟一个变量名(原名或别名)
    3.&&逻辑与
    

    指针最大的用途就是作为函数形参
    指针作为函数返回值类型,异常返回null

    数据结构:一门学科,研究如何对很多个同类型的元素做存储、管理和相关的操作的学科。
    一、存储方式:
    1.顺序存储
    2.链式存储
    二、元素间的逻辑关系
    1.同属一个集合
    2.线性关系(一对一的关系)(线性表:栈:先进后出,在头部插入移除  队列:先进先出,在队首移除队尾插入,队列一般不用顺序存储,一般使用链式存储)
    a.顺序存储:顺序表(相当于数组)
    b.链式存储:链表
    3.树形关系(一对多的关系)
    4.图形关系(多对多的关系)

    MVC模块法:
    model
    viewer
    controller
    

    qsort快排函数
    memcpy复制
    memcpy的函数原型是void *memcpy(void *dest, const void *src, size_t n),其功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。memcpy则是根据其第3个参数决定复制的长度。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。

    #include <string.h>
    int main()
    {
      char *s="Golden Global View";
      char d[20];
      memcpy(d,s+14,4); //从第14个字符(V)开始复制, 连续复制 4个字符(View)
      //memcpy(d,s+14*sizeof(char),4*sizeof(char));也可
      d[4]='\0';
      printf("%s",d);
      getchar();
      return 0;
    }
    

    相关文章

      网友评论

          本文标题:电商专业学习嵌入式软件开发第四十三天

          本文链接:https://www.haomeiwen.com/subject/muxsnttx.html