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

  • 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 
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;
}

你可能感兴趣的:(电商专业学习嵌入式软件开发第四十三天)