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

  • 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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS面试小贴士 ———————————————回答好下面的足够了------------------------...
    不言不爱阅读 2,014评论 0 7
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,370评论 0 6
  • ———————————————回答好下面的足够了---------------------------------...
    恒爱DE问候阅读 1,762评论 0 4
  • 史上最全的iOS面试题及答案 迷途的羔羊--专为路痴量身打造的品牌。史上最精准的定位。想迷路都难!闪电更新中......
    南虞阅读 1,550评论 0 8
  • 昨天是百日画画群里的第二百个天,我和群里的伙伴们一起坚持了两百天,两百天里我尝试用蜡笔、色铅笔、水彩颜料、铅笔、中...
    清文雅书阅读 331评论 1 3