- 博客(34)
- 收藏
- 关注
原创 笔记
1.电源进来接电容作用:当电压过高时会适当降低电压,当进来的电压过低时会提高电压,稳定电压,保护电路。2、使用AD10 画PCB,当画原理图时,要双击每个元器件,点击 edit 按钮,看该元器件是否有图片显示,若没有则要自己添加。1.电源进来接电容作用:当电压过高时会适当降低电压,当进来的电压过低时会提高电压,稳定电压,保护电路。2、使用AD10 画PCB,当画原理图时,要双击每个元器...
2018-07-23 13:23:18 222
原创 C++:面向对象基础
1、结构体成员默认的属性是公共的,而类成员默认是私有的。C++的结构体也可以设置 public,private。但C语言中不行。2、内联函数和外联函数在类体内实现的成员函数称为内联函数,在调用处用内联函数体的代码来替换,提高运行速度。在类体外实现的成员函数称为外联函数。外联函数转换成内联函数时只要在外部函数定义前加上 inline 就可以,不需要在类内部声明处加。3、不宜使用内联函数的两种情况:1...
2018-04-10 21:41:26 353
原创 C++运算符重载
1、格式:返回值类型 operator 运算符名称(形参列表){ }operator 运算符名称 :可以看成函数名。2、不能重载的运算符:长度运算符 sizeof 条件运算符 : ? 成员选择符. 对象选择符.* 域解析运算符 ::3、重载不能改变运算符的优先级和结合性。4、重载不会改变运算符的用法,原先有几个操作数,操作数在左边还是右边,这些都不会改变。例如~...
2018-04-10 21:40:19 151
原创 C++:面向对象继承
1、new 和 delete 和 malloc() 一样, new 也是在堆区分配内存,必须手动释放,否则只能等到程序运行结束后由操作系统回收。为了避免内存泄漏,通常 new 和 delete , new[ ] 和 delete[ ]成对出现。new和delete 分别会自动调用构造函数和析构函数。int *p = new int; //分配一个 int 型的内存空间delete...
2018-03-23 17:23:22 157
原创 C++:类和对象
1、类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例,拥有类的成员变量和成员函数。2、类本身不占用内存空间,而对象可以说是类这种数据类型的一个变量,占用内存空间。class 是定义类的关键字,类名的首字母一般大写,类的定义最后有一个封号“;”。3、在创建类的对象时,class关键字可要可不要(通常省略),类也可以创...
2018-03-20 20:55:04 205
原创 C++:语言基础
1、new 和 delete 和 malloc() 一样, new 也是在堆区分配内存,必须手动释放,否则只能等到程序运行结束后由操作系统回收。为了避免内存泄漏,通常 new 和 delete , new[ ] 和 delete[ ]成对出现。new和delete 分别会自动调用构造函数和析构函数。int *p = new int; //分配一个 int 型的内存空间delete...
2018-03-20 20:54:26 223
原创 C与指针:第七章:函数
1、int *func(); 这个声明必须被解释为旧式风格的声明(只给出 func函数的返回类型),目的是保持与 ANSI 标准之前的程序的兼容性。一个没有参数的函数的原型应该写成这样:int *func( void );关键字 void 提示没有任何参数,而不是表示它有一个类型为 void 的参数。2、函数的参数是数组时:数组名的值实际上是一个指针,传递给函数的就是这个指针的一份拷贝。下标引用实...
2018-03-20 20:53:07 187
原创 C与指针:第六章:指针
1、通过一个指针访问它所指向的地址的过程称为间接访问或解引用指针。这个用于执行简介访问的操作符是单目操作符。2、*&a = 25; 将25赋值给变量 a 。&操作符产生变量 a的地址,它是一个指针常量(这个指针常量并不需要知道它的实际值),* 操作符访问其操作数的所表示的地址。3、指针常量假定变量 a 存储于位置100,*100 = 25; 这条语句是错误的,因为字面值10...
2018-03-20 20:51:32 501
原创 C专家编程:第十章:再论指针
1、在锯齿状数组上使用指针可以节省空间:如果声明一个字符串指针数组,并根据需要为这些字符串分配内存,将会大大节省资源,因为它左右端长度不以所以叫“锯齿状数组”。char carrot[50][256]; 用于存储50个字符串,浪费空间。可改为指针数组:char *turnip[50];charmy_string[ ] = "your message here";turnip[i] =&...
2018-03-11 16:17:00 188
原创 C专家编程:第九章:再论数组
1、数组和指针相同与否的情况: extern,如externchar a[ ];不能改写成指针的形式 声明: 定义,如 char a[10];不能改写成指针的形式 函数的参数,如 func(char a[ ]);可以改成数组或指针的形式数组: 在表达式中使用: 如 c = a[i]; 可以改成数组或指针的形式 然而,数组和指...
2018-03-11 16:16:30 161
原创 C专家编程:第八章:为什么程序员无法分清万圣节和圣诞节
1、C语言中的类型提升源类型 通常提升后的类型 char/unsigned char int 位段(bit-field) int 枚举(enum) int short/unsigned short int float double 任何数组 相应类型的指针 2、隐式类型转换:算术转换、赋值转换和输出转换。1)算术转换:进行算数运算(加、减、乘、除、取余以及符号运算)时,不同类型数...
2018-03-11 16:15:52 389
原创 C专家编程:第七章:对内存的思考
1、Intel 80x86内存模型以及它的工作原理: 在Intel 80x86内存模型中,段是内存模型设计的结果,在86x86的内存模型中,各处理器的地址空间并不一致(因为要保持兼容性),但它们都被分割成以64KB为单位的区域,每个这样的区域便称为段。 作为80x86内存模型最基本的形式,8086中的段是一块64KB的区域,由一个段寄存器所指向。内存地址的形成经过是:取得段寄存器...
2018-03-11 16:15:19 236
原创 C专家编程:第六章: 运行时数据结构
1、为什么不能从函数中返回一个指向该函数局部自动变量的指针?(自动变量:函数返回时系统回收变量所占存储空间,一般的局部变量均是自动变量)char * favorite_fruit (){char deciduous [ ] ="apple";return deciduous;}当进入该函数时,自动变量deciduous在堆栈中分配。当函数结束后,变量不复存在,它所占用的堆栈空间被回收,可能...
2018-03-11 16:14:35 190
原创 C专家编程:第四章:数组和指针并不相同
1、声明和定义:声明相当于普通的声明:它所说明的并非自身,而是描述其他地方的创建的对象。定义相当于特殊的声明:它为对象分配内存。例如:定义:int my_array[100]; 声明:extern int my_array[ ];指代其他地方定义的对象。(二维数组需要提供除最左边一维之外的其他维的长度)2、X = Y;1)符号X是X所代表的地址,符号Y是Y代表的地址的内容;2)X是左值,...
2018-03-05 20:53:39 208
原创 C专家编程:第三章:分析C语言的声明
1、关于const的声明:const int *p:指针p指向的内容不变;int const *p:指针p指向的内容不变; int * const p:指针p不变; const int * const p:指针和指针指向的内容都不变;int const * const p:指针和指针指向的内容都不变。2、一些合法的声明:1)int(* fun( ))( ): 函数( fun() )的返回值是一个指...
2018-03-05 20:52:45 252
原创 C专家编程:第二章:这不是bug,而是语言特性
1、重载:c语言有一个问题它太简洁了,仅增加、修改、或删除一个字符就会使原先的程序变成另外一个仍然有效却全然不同的程序。许多符号是被“重载”的---在不同的上下文环境里有不同的意义。甚至有些关键字也被重载而具有好几种意义,这也是c语言的作用域对程序员不那么清晰的主要原因。c语言中的符号重载:1)static:在函数内部,表示该变量的值在各个调用间一直保持延续性 在函数这一级,表示该函数只对本文件可...
2018-03-04 15:47:21 286
原创 C语言聊天室1.0
1、 先运行server.c的代码,可以在服务器中查看已经注册的账户信息。2、 接着运行client.c代码,运行后有注册、登陆和退出功能。注册是注册账号;登陆是登陆账号;退出是退出客户端。3、 登陆之后有四个功能,分别是显示在线好友、和好友聊天、群聊和退出账号。点击和好友聊天后,出现输入好友姓名(好友必须在线),然后可以发消息给对方。当输入”exit”时...
2018-03-04 15:45:23 1074 4
原创 C语言通讯录2.0
用数据库实现通讯录: /************************************** * 电子通讯录: * 内容:序号,姓名,电话,住址。 * 功能:添加好友、删除好友、清空联系人、好友排序、搜索好友、显示所有联系人。 * 添加好友:如果重名,可选择覆盖或新建。 * 好友排序:可选择按姓氏正序排或逆序排。 * ...
2018-03-04 15:43:26 193
原创 C语言通讯录1.3
1、修改了往文件里存储和从文件里都出来的过程。使用了fread,fwrite. 2、注意fread和fwrite使用时,若数据块是结构体,则结构体中的指针域也将被写进文件或从文件中读出。 /**************************************电子通讯录: 内容:序号,姓名,电话,住址。 功能:添加好友、删除好友、清空联系人、好友排序、搜索好友、显示所有联系人。 ...
2018-03-04 15:42:32 190
原创 C语言通讯录1.2
1、修改了主界面。 2、将int ID改变成char ID[20],便于存储进文件。 2、添加了文件存储功能,再次运行./a.out可以读出上次操作存入文件内的联系人。 /**************************************电子通讯录: 内容:序号,姓名,电话,住址。 功能:添加好友、删除好友、清空联系人、好友排序、搜索好友、显示所有联系人。 添加好友:...
2018-03-04 15:42:06 197
原创 C语言通讯录1.1
/**************************************电子通讯录: 内容:序号,姓名,电话,住址。 功能:添加好友、删除好友、清空联系人、好友排序、搜索好友、显示所有联系人。 添加好友:如果重名,可选择覆盖或新建。 好友排序:可选择按姓氏正序排或逆序排。 删除好友:若遇到重名好友,则按序号删除。*****************************...
2018-03-04 15:41:40 212
原创 排序和查找
1、冒泡排序、鸡尾酒排序、选择排序、插入排序、快速排序/******** #include<stdio.h>//冒泡排序voidMaopao(int a[],int n){ int i, j; for(i = 0; i < n - 1; i++) { for(j = 0; j < n - 1 -i; j++) { ...
2018-03-04 15:36:59 175
原创 栈,链栈,队,链队,树的代码
Stack:#include<stdio.h> #define maxSIZE 10#define OK 1#define ERROR 0 struct Node{ int data[maxSIZE]; int top;}SqStack; int InitStack(SqStack *s){ s->top = -1; return OK;} int...
2018-03-04 15:35:16 154
原创 树
树:1、概念:树是n个结点的有限集(n>=0),n=0时是空树。 特点:在非空树中,: 1)仅有一个根结点; 2)根的子树,互不相交。2、一些名词概念 结点的度(Degree):拥有的子树数目。 叶结点(Leaf):度为0的结点,又叫终端结点。 分支结点:度不为0的结点,又叫非终端结点。
2018-01-25 16:57:11 180
原创 c语言通讯录1.0
/*制作一电子通讯录,能存入好友ID号,姓名(english),手机号码,家庭住址,公司电话*/#include #include #include #define OK 1#define ERROR 0 typedef struct NodeList{ int num; //ID号 char name[20]; //姓名(
2018-01-21 09:25:00 384
原创 链表例题
/********************************有函数:int parseSoundSetting(char *configure,stSoundSetting *setting)把字符串 ID_SOUND_AAA_BBB_12V7R99W匹配的结构体 struct _stSoundSetting 中 #define BUFF_LEN 100#defi
2018-01-21 09:23:29 505 1
原创 结构体的学习
结构体的学习一、结构体。(1)定义结构体和变量:struct student{ int num; char name[20]; float score[3]; }stu1; struct stu2,
2017-12-25 19:43:38 233
原创 指针的学习
一、*p++和++*p用法(1)y = *p++; 等于y = *p; p++;例:int *p, a=3, y = 0;p = &a;printf(“%d,%x”, *p, p); 结果: 3,bf884ff8y = *p++;printf(“%d,%x”, y, p); 结果: 3,bf884ffcprintf(“%x”, *p);
2017-12-21 11:55:04 395
原创 C语言例题
/*用冒泡排序对10名学生的成绩进行排序*/#include int maopao(int a[]); int main(){ int a[10]; int i; printf("请输入10个学生的成绩(用空格分开):\n"); for(i=0; i { scanf("%d", &a[i
2017-12-16 21:40:14 493
原创 C语言例题
1、/*在数组中随机输入10个整数,然后按倒序打印这10个数(排序)*/#include int main (){ int a[10], i, j, s; //s用于交换两个数 printf ("请随机输入10个数:\n"); for (i = 0; i //输入10 个数 { sc
2017-12-09 20:18:48 648
原创 C语言例题
1、输出“hello world”。(1)#include int main (){ char a[] = "helloworld"; printf("%s\n",a); return 0;}(2)#include int main (){ char a[] ="hello"; c
2017-12-08 11:30:42 272
原创 linuxC相关知识--gcc和Makefile的学习
一:gcc1.gcc hello.c -o hello 直接编译成可执行文件,其中有四个过程:预处理、编译、汇编、链接,最后生成课执行文件。(1)预处理:gcc -E hello.c -o hello.i 把#include 所包含的文件全部拉到hello.i中;(2)编译:gcc -S hello.i -o hello.s 生成汇编
2017-12-06 18:45:18 232
原创 复习C语言,学习Linux的基本指令,vi基本操作以及压缩方式
20~30个linux命令:ls:显示文件或目录 -l:列出详细信息(list)mkdir:创建目录 -p:创建目录,若无父目录,则创建p(parent)cd:切换目录touch:创建空文件echo:创建带有内容的文件cat:查看文件内容cp:拷贝mv:移动或重命名rm:删除文件rmdir:删除空目录pw
2017-12-02 20:05:12 316
原创 初次接触嵌入式系统和linux
产品的分类: 1、民用级产品,商用级产品。工作温度:0℃--70℃,一般抽查10%或根据不同客户要求抽查检验。价格便宜,常见实用。 2、工业级产品。工作温度:-40℃--85℃,工业级芯片相比商业级芯片会在封装过程中添加一定量的微量元素使封装更加稳定。价格、精密度次于军工级产品。 3、汽车电子级产品。工作温度:-40℃--125℃,一些军工级,汽车级芯片中会设计
2017-11-25 22:11:45 344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人