自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 对malloc和free的理解

  学习数据结构之后,我们发现链式的数据结构都少不了malloc这个函数,每当我们要建立一个新的结点时,都要用malloc创建一个堆空间,用这个堆空间存放结点的数据域和指针域。创建语句如下:  struct Node *p = (struct Node *)malloc(sizeof(struct Node));  struct Node *p是指创建一个存放 struct Nod...

2018-08-05 17:46:11 606

原创 单向链表详解

#include<stdio.h>#include<stdlib.h>#define T 1#define F 0typedef int Elementtype;    //重命名int为Elementtypetypedef int Status;               //重命名int为Status,作为函数的返回类型struct Node     ...

2018-08-03 16:50:47 1623

原创

#ifndef _Stack_H_#define _Stack_H_#define OK    0#define ERROR 1 //栈的节点typedef struct Stack_Node{    int data;    struct Stack_Node * next;}Stack_Node;//栈的头结点指向栈的顶端值,有了头结点就可以找到整个栈;typedef ...

2018-07-17 23:13:14 198

原创 宏定义和自定义函数

宏定义函数和自定义函数:在预处理阶段要处理哪些东西?1、头文件:#include ....   //#include <stdio.h>   #include "stdio.h"2、宏定义:#define ...3、注释;4、条件编译:#if ...  #elif ... #endif总结一下:带#都是在预处理阶段处理的!宏定义怎么定义:#define 宏定义变量名  宏定义本质上的内...

2018-06-11 21:01:17 1232

原创 段错误和野指针,关键词及内存管理

野指针和段错误;什么叫野指针: p保存的是int a的地址,那么就说 p指向a; 1、当指针指向不明确的时候; int *p; //此时不知道p保存的是什么地址! *p = 10; 2、指针保存的地址不存在! int *p = 0x12345678; 2、指针指向明确,地址也存在,但是我们指向的空间没有操作权限; int *p = NULL; //指向了0地址;但是0地址受系统...

2018-06-09 20:39:20 342

原创 指针和其他知识点的联系

一、指针和数组: ①数组指针:首先是个指针 ===》 这个指针保存的是什么地址? ===》保存的是数组的地址;   小结: 1、一维数组名代表数组首元素的地址; //char str[5] = "hello"; str + 0 == &str[0]; str + 1 == &str[1]; str + 2 == &str[2]; 2、对一维数...

2018-05-31 21:48:16 230

原创 输入一个字符串,同时输入帧头和帧尾,将该字符串的合法帧识别出来

#include<stdio.h>#define N 100int main(){ char str[N] = {0}; char head[N] = {0};               //定义数组并初始化 char tail[N] = {0}; char *a = NULL; char *b = NULL;  //定义指针并初始化 char *c = NULL; int...

2018-05-30 22:30:13 806

原创 指针1

指针: 什么是指针?为什么需要指针?有了指针之后有什么好处?没有指针行不行? 1、什么是指针? 指针的全称“指针变量”,本质上也是一个变量!跟int cha float....没什么区别,都是用来保存数据! int a; //12345; char c; //'a' float fl; //1.2 既然指针是变量,所以也是用来保存数据!====》保存的是其他变量的地址!【跟普通类型...

2018-05-29 21:36:51 151

原创 函数

什么是函数,为什么需要函数,有了函数之后有什么好处,没有函数行不行? 对于函数有什么操作; 1、为什么需要函数? main() { XXX; XXX; } 自然段;----》章 ----》卷或者季; 盗墓笔记第一季: 第一章; 第一段; 第二段; 第三段; 第二章; 第三章; 。。。 盗墓笔记第二季; 。。。 盗墓笔记第三季; 。。。 ===》采用“分”的思想; =...

2018-05-27 22:03:20 185

原创 字符数组和字符串

    string str1 = "hello"; //string数据类型在c语言里没有,在C++和Java里是有的;C里面使用字符数组的方式来保存字符串。    strlen(str):表示的字符串的长度:        '\0'表示的是字符串结束,'\0'之前的字符是字符串的有效字符        ——》"hello world"'\0'——》'\0'称为魔数(C语言里表示特定含义的数)—...

2018-05-26 22:29:49 175

原创 与数组有关的练习

输入十个数用插入排序,降序输出;#include<stdio.h>int main(){ int a[10] = {0}; int b[10] = {0};    int i = 0;    int j = 0; int k = 0; int flag = 0; printf("please input 10 number\n"); for(i = 0; i < 10; i++)...

2018-05-25 20:18:16 168

原创 数组

1.什么是数组    “相同数据类型”的一些数的集合2.为什么需要数组:    对于数据之间有精密联系的相同类型的数据,我们可以数组方式来定义;3.有了数组之后有什么好处?    ①减少了错误发生的概率;    ②体现了数据和数据之间的紧密联系;4.定义和定义变量    数组:一排一排的盖房子,之间又联系性;    变量:独栋别墅;数组的分类:    一维数组和二维数组;(根据维度来分)    根...

2018-05-24 23:36:09 154

原创 Makefile的使用

Makefile    基于这样的现实:    公司的工程代码不可能都放在同一个.c(原文件)里面,根据不同的模块进行封装;    导致的错误:    1.多了个.c或是少了个.c    2.工程代码修改了之后——》重新编译——》gcc...——》第一个错误    需求:    更快捷高效的编译方式    make工程管理器就应运而生了如何使用:    1.首先创建源文件:main.c    ad...

2018-05-22 22:58:23 195

原创 数据类型

基本数据类型:int float char double long short数据为啥要有数据类型1.表示的数的种类不一样:整数和小数。2.跟所取的取值范围有关。我们计算机里面的变量是需要介质来保存的;——》为了给变量或者数据分配“合适”的储存空间(既不能浪费,也不能空间不够)size of:运算符,不是函数                     ——》计算字符长度的时候,将‘\0’计算在内st...

2018-05-21 21:56:34 200

原创 c语言 对变量的定义

用变量a给出下面的定义:①一个整型数;                                                                                                               int a;②一个指向整型数的指针;                                                    ...

2018-05-20 22:20:22 2919 1

原创 gdb调试

    gdb的主要作用就是用来调试代码的错误,可以做到单步调试或者从一个断点执行到下一个断点,甚至是改变当前程序的执行条件,按照我们设定的条件进行执行,总归一句话:调试查找错误和让程序按照我们设定的条件去执行。    gcc -g countnine.c -o demo1        -g 加入调试信息到可执行文件里面;    gcc countnine.c -o demo2         ...

2018-05-19 21:37:27 157

原创 动态库的封装

以 add.c 为例1.创建库函数的源文件:vim add.c2.生成目标文件:gcc -c add.c -fpic3.生成动态库:gcc add.o -o libadd.so -shared            备注:libadd.so:lib是前缀,add是库的名字,so是后缀,代表是动态库4.建立调用库函数的源文件:vim demo.c5.编译执行:gcc demo.c ./libadd....

2018-05-19 21:20:26 332

原创 gcc编译

gcc编译工具链1.什么是编译器?    机器只能够识别0和1的机器语言,不能识别高级语言编写的程序。    高级语言编写的程序——》机器语言——》编译器(承担翻译官的角色,编译器也是一个程序)。2.有了编译器有什么好处?    让人可以编写更适合人类思维的高级语言,而不用编写机器语言程序,也不用考虑怎样将高级语言转化为机器语言。...

2018-05-18 17:50:01 227

原创 编程实现查找子串个数

/*************************************************************************    > 文件名 lookup.c    > 作者: 蔡毅    > 邮件: 1768250595@qq.com     > 创作时间: 2018年05月17日 星期四 22时56分45秒 ******************...

2018-05-18 00:36:00 541

原创 vim编译器

vi 文件名vim文件名    首先进入”一般模式”:下面会显示文件的名字    一般模式——》编辑模式:按下a键或者i键或者g键,下面会显示insert,写好之后要保存退出,在“编辑模式”下按esc键,回到“一般模式”,然后再按shift+:,进入到“底行模式”在底行模式下,可输入wq(保存退出)wq!(强制保存退出)q!(不保存退出)    操作:(在windows中文档软件)可能有的操作) ...

2018-05-17 00:28:19 650

原创 Linux 文件创建2

1.touch和mkdir命令的验证方法    用 ls -l 和 tree 命令2.touch 9.avi中9.avi为什么不是合法的    用touch命令创建的文件就是一般文件,至于文件的后缀,它只是一个后缀或者是一个标志;当你用视屏软件打开.avi文件或者用画图软件打开.jpeg的时候,视屏软件或画图软件会首先检查文件的头部信息,看看是不是合法的.avi文件或者.jpeg文件,如果不是的话...

2018-05-13 21:58:02 415

原创 5.12 学习总结

    今天的学习内容主要为以下三个方面1.什么是嵌入式2.为什么要学习嵌入式3.Linux系统的基本使用    1.什么是嵌入式       简单地说嵌入式系统是专用的计算机系统,像手机,空调,飞机,坦克,导弹等等都离不开嵌入式系统。从技术角度:       嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。从系统角...

2018-05-12 22:34:51 220

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除