- 博客(38)
- 资源 (2)
- 收藏
- 关注
转载 malloc()、calloc()和realloc()
C语言跟内存申请相关的函数主要有 alloca、calloc、malloc、free、realloc等. alloca是向栈申请内存,因此无需释放. malloc分配的内存是位于堆中的,并且没有初始化内存的内容,因此基本上malloc之后,调用函数memset来初始化这部分的内存空间. calloc则将初始化这部分的内存,设置为0. realloc则对mal
2016-07-30 15:22:43 242
原创 指针数组和数组指针的区别&指针函数和函数指针的区别
指针数组和指针函数的本质没有变化,还是数组和函数。而数组指针和函数指针,这是说明这是指针,指向的类型分别是数组和函数。一、指针数组:即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4] 指针数组
2016-07-29 15:25:07 301
转载 复杂声明的例题解析
指针是C\C++语言的精髓,我教你怎么认复杂的指针。看int (*fun)(int ,int ),首先明确变量是fun,标识符最先从fun向右边走一步,是),终止。向左走一步是*,说明fun是一个指针。*左边是(,终止。以(*fun)为整体向右走一步,是(),()里面是(int ,int),说明fun是一个函数,传递的参数
2016-07-28 15:31:31 304
原创 Linux的皮毛
1、Linux下的设备被系统默认为文件,应用程序操作硬件时,只需要获得设备的描述符即可,通过调用open(),read(),write(),ioctl(),close()等函数来操作设备。具体过程为:应用程序发出系统调用指令;系统由用户状态而进入内核状态;内核层将系统的函数调用转换为对具体设备的物理操作。2、Linux是单核操作系统,内核由不同模块组成,一个内核模块包括初始化函数、卸载函数...
2016-07-27 20:04:05 274
转载 自动泊车辅助系统
利用车载传感器探测有效泊车空间并辅助车辆完成泊车动作。由信息监测单元、电子控制单元和执行单元构成。由测距传感器、视觉传感器监测路面环境和车辆位置,控制车辆转角控制、油门控制、制动控制的目的。获取环境信息后对汽车和环境建模。
2016-07-27 15:12:58 3306
转载 驾驶员疲劳预警系统
由信息采集单元、电子控制单元和预警显示单元构成。采集驾驶员的生理图像反映,面部特征、眼部信号、头部运动行等,汽车转向盘转角、行驶速度、行驶轨迹等。通过声音、光照闪烁、安全带振动等方式对疲劳预警。
2016-07-27 14:58:56 1811
转载 汽车平视显示系统
将汽车驾驶辅助信息、导航信息、检查控制等各种信息以投影方式显示在挡风玻璃上或者约两米远的前方、发动机罩尖端的上方。主要由图像源、光学系统、图像合成器组成。
2016-07-27 14:51:47 1764
转载 自适应前照明系统和夜视辅助系统
传感器采集车辆当前的车速、车辆姿态、转向角度和外界环境弯道、坡度、天气等的变化信息,通过CAN总线传输单元输送到控制单元,控制两个电机调节前照灯的照射距离和角度。分为:基础照明模式、城市道路照明模式、高速公路照明模式、转弯道路照明、恶劣天气照明。夜视辅助系统是利用红外线辅助驾驶员在黑夜中看清道路、行人、障碍等。由红外发射单元、红外成像单元、控制单元、图像显示单元构成。
2016-07-27 11:19:40 477
转载 车道偏离报警系统
通过报警的方式辅助驾驶员减少汽车因车道偏离而发生交通事故的系统,在驾驶员无意思偏离原车道时,发出警报。主要由图像采集单元、车辆状态传感器、电子控制单元、人机交互单元等组成。主要限制是天气条件和光照变化的影响对于急于视觉系统目前是个难题。车道保持辅助系统能够暂时接管汽车控制车辆驶回原车道。
2016-07-27 10:42:18 2081
转载 汽车自适应巡航系统
汽车驾驶员的辅助驾驶系统,它将汽车巡航控制系统和车辆前向撞击报警系统有机结合起来,可以控制汽车油门和刹车对车辆进行纵向速度控制,使本车保持安全车距行驶,避免或减小追尾事故。汽车的巡航控制是指在一定车速范围内驾驶员不用控制加速踏板而能使汽车保持以设定的速度行驶。由巡航控制开关、车速传感器、节气门执行器、控制器组成。在巡航控制系统中有人机交互界面,通过开关、加速、减速等按钮来控制车速;自适
2016-07-27 10:13:09 2032
转载 const
1、关键字const并不能把变量变成常量,在一个符号前加上const只是表示这个符号在限定范围内不能被赋值,也就是说只读的,但它并不能防止通过程序的内部来修改这个值,const最有用之处就是用来限定函数的形参,这样该函数不会修改实参指针所指的数据,但其他函数却可以修改。2、const int *p,限定只读的是指针p所指向地址的值,而int *const p则会限定p指针指向的地址不能修改,只
2016-07-26 21:44:42 229
原创 有关特斯拉的事情
优势,可能是颠覆传统行业的致命手段:特斯拉是第一款不需要进行保养的汽车,因为没有了传动装置、离合器、火花塞,也就没有了可能磨损的零部件;特斯拉汽车热量散失较少,无需用水冷却,空冷就可以满足散热要求;特斯拉汽车噪声很小,几乎没有,就不用考虑NVH的要求;特斯拉的电池安装在车身较低的位置,使重心更靠近地面,改善了汽车的安全性,又因为无需在车身前端安装发动机,所以提供足够的撞击缓冲区来保
2016-07-26 09:23:24 861
转载 单链表(非循环)倒数第4个元素
思路:让第一个元素先走四步,然后两个游标指针一起走。node*Get_Node(node *head){inti;node*first = head;node*back = head; for(i=0;i{if(first->next== NULL)printf("Nodeless than four!\n");first= first->next;
2016-07-24 20:02:37 221
转载 如何找出链表中间元素
思路:让前一个指针每次走两步,后一个指针每次走一步。node*Get_middle_node(node *head){node*first = head;node*back = head; while(first!= NULL){first= first->next->next;back= back->next;}
2016-07-24 20:01:57 687
转载 字符串的循环左移,不用库函数,三步循环
char*str_rev2(char *str, int bit){chartemp_str[128];inti,j;intstr_len = strlen(str);bit= bit%str_len;取余,去掉循环的左移。取出需要从低位位移到高位的字符for(i=0;i{*(temp_str+i)= *(str+i);} 将需要从高位的字符移到低位
2016-07-24 20:00:38 751
原创 链表:画图说明问题-
1、单向链表2、双向链表3、循环链表链表的逆序函数(相当于把链表重新创建一次,但是要注意保存好下一个指针,这是头插法)node*reverse_node(node *head){node*record, *current; if(head== NULL || head->next == NULL)returnhead; current= head->ne
2016-07-24 19:57:39 1881
原创 无人驾驶汽车的基本概念
体系结构、环境感知、定位导航、路径规划、运动控制、一体化设计目前无人驾驶汽车主要关键技术包括:车对车通信、巡航控制、自动刹车、车道维持、雷达、循迹或稳定控制、视讯摄影机、位置估计器、GPS。
2016-07-24 19:42:44 9793
原创 linux系统的问题
1、Linux系统下.ko文件是什么文件?.so文件是什么文件?Linux下面文件名不代表什么。但是从常识上讲,.ko代码是驱动编译成的格式,.so文件一般是动态库文件。2、浅谈bootloader,kelnel,filesystem三者之间的关系.嵌入式是linux启动过程如下。bootloader->kernel->filesystem->application先...
2016-07-24 19:41:26 461
原创 数组指针、函数指针
比如b[3]={1,2,3};其中&b是指向整个数组的类型即b[][3],而b是指向b[0]的地址,它等价于&b[0];但是注意sizeof(b)的话,得到的却是整个数组的大小,而且sizeof(&b)也是整个数组的大小。比如a[3][3]的话,按照类推,从大到小的方法,&a是指向整个数组的类型即a[][3][3],而a则是a[][3]类型的地址,它等价于&a[0];而a[0]是指向a[0][
2016-07-24 19:36:59 270
转载 实参和形参
形参:全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。没有形参的函数在形参表的位置应该写void.main函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。实参:可以是常量、
2016-07-24 19:35:36 691
原创 setjmp和longjmp完成保存上下文和切换上下文的工作
#include int setjmp(jmp_buf env);setjmp函数的功能是将函数在此处的上下文保存在jmp_buf结构体中,以供longjmp从此结构中恢复过来。若直接调用该函数,返回值为0;若该函数从longjmp调用返回,返回值为非零,由longjmp函数提供。Void longjmp(jmp_bufenv,intval)函数的功能是从jmp_buf结构体中恢
2016-07-24 19:32:56 409
原创 分配内存的问题
使用内存分配应该注意的问题:检查内存是否分配成功,内存声明周期程序结束时要释放,避免导致内存泄露。使用过程中避免指针越界访问。1、malloc是分配多少个字节的内存,里面是数字void GetMemory(char*p) {p = (char*)malloc(100);}void Test(void){char *str = NULL;GetMemory(str
2016-07-24 19:31:06 501
原创 C语言的输入输出-几个函数的使用比较
1、gets、puts 函数可以一整行的字母输入输出%s,字符数组,无论中间有没有空格,按完enter就可以了;2、scanf比较灵活,如果是单个字符%c就可以,一个字符的输入,但是在循环输入中,有空格或者换行符也会被当做字符输入的。所以中间不能有空格出现;3、对于scanf函数来说,如果是字符数组的输入%s的出现,则如果中间出现空格或者换行符都会被当做结束符,这与gets是不同的,get
2016-07-24 19:24:58 1609
一个简单的AD转换程序
2016-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人