自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 2017年1月23日学习总结----进程与线程的简单解释

声明:本文转自http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。

2017-01-23 20:00:57 323

转载 2017年1月22日学习总结----TCP和UDP的区别

声明:本文转自http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.htmlTCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。

2017-01-23 19:58:38 398

转载 2017年1月21日学习总结----C/S 和 B/S架构的优点和缺点

声明:本文转自http://m.jb51.net/article/56605.htmC/S和B/S,是再普通不过的两种软件架构方式,都可以进行同样的业务处理,甚至也可以用相同的方式实现共同的逻辑。既然如此,为何还要区分彼此呢?那我们就来看看二者的区别和联系。一、C/S 架构1、 概念C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服

2017-01-23 19:54:19 713

转载 2017年1月20日学习总结----OSI七层网络模型

声明:本文转自http://blog.csdn.net/yaopeng_2005/article/details/7064869 OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同

2017-01-23 19:51:42 363

转载 2017年1月19日学习总结----c语言可变参数的用法

声明:本文转自http://blog.csdn.net/wooin/article/details/697106我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:   int printf( const char* format, ...);  它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以

2017-01-19 23:36:09 360

转载 2017年1月18日学习总结----sqlite3常用命令与语法

声明:http://blog.csdn.net/linchunhua/article/details/7184439sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,SQLite大量的被用于手机,PDA,MP3播放器以及机顶盒设备。    Mozilla Firefox使用SQLite作为数据库。    Mac计算机中的包含了多份SQLite的拷贝,

2017-01-18 22:49:55 553

转载 2017年1月17日学习总结----系统调用和库函数

声明:本文转自http://blog.csdn.net/u011456940/article/details/50472149一. 概念系统调用(英语:system call),指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较

2017-01-17 22:58:30 303

转载 2016年12月27日学习总结----C语言注释技巧

声明:本文转自http://bbs.bccn.net/thread-355932-1-1.html作者:José M. Aguilar(西班牙语)英文译者:Timm Martin中文译者:numenzq 下面的13个技巧向你展示如何添加代码注释,这些技巧都很容易理解和记忆。1. 逐层注释为每个代码块添加注释,并在每一层使用统一的注释方法和风格。例如:

2016-12-28 14:08:00 471

转载 2016年12月26日学习总结----队列的链式表示

声明:本文转自http://blog.csdn.net/ns_code/article/details/12652257该队列为链式队列,初建队列时,队头和队尾均指向头结点,头结点中不存放数据,只存放指针,头结点的下一个节点才开始存放数据,这这样做的目的是为了在入队和出队时方便对队列的操作,而不用考虑特殊情况。C语言源代码[cpp] view

2016-12-28 14:05:00 391

原创 2016年12月15日学习总结----阶段总结

C语言基础学习告一段落,数据结构的学习也进行了一部分,对链表的操作也随着练习慢慢熟悉。其实数据结构说白了就是一种模板,就算没有数据结构,用C语言一样可以写程序,但是数据结构作为处理数据的模板,当我们熟练使用之后会减少很多思考的步骤,因为其他人已经把模板设计好,我们直接可以拿过来使用。数据结构的主要作用就是管理数据,就目前来讲主要做的工作还是数据的增删改查存取等基本的操作。做嵌入式开发需要用

2016-12-28 14:01:53 401

转载 2016年12月24日学习总结----栈的链式表示

声明:本文转自http://blog.csdn.net/ns_code/article/details/11358347以下为操作栈的算法,该栈为动态栈。在该栈中,pTop指向的节点中存放该栈的栈顶数据,pBottom指向的节点的上一个节点存放该栈的栈底数据,pBottom指向的节点中不存放有效数据,这样做的目的是为了在进行入栈和出栈时方便对栈的操作,而不用考虑特殊情况

2016-12-28 13:46:07 267

原创 2016年12月23日学习总结----双向循环链表操作程序(头插、尾插、中间插入、删除)

#include #include struct node{    int num;    struct node *next;    struct node *prior;};typedef struct node Node;typedef Node * DLink;create_head(DLink *head){   

2016-12-28 13:37:26 1231

原创 2016年12月22日学习总结----结构体

结构体一般情况下在函数外部定义,例如定义一个学生管理系统的结构体,可以在包含头文件之后写如下内容:struct student{    int num;    char name[20];    int age;    char sex;};需要注意的是在定义语句的末尾即"}"后面要记得加上“;”,因为很多看起来类似的C语言语句比如if语句,for循环等等后面都是没

2016-12-28 13:34:55 336

原创 2016年12月21日学习总结----单向循环链表操作程序(头插,尾插,中间插入,删除,逆序)

#include #include struct node{    int num;    struct node *next;};typedef struct node Node;typedef Node * Link;create_head(Link *head){    (*head) = (Link) malloc(siz

2016-12-28 12:48:39 315

转载 2016年12月20日学习总结----C语言关键字volatile

声明:本文转自http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.htmlvolatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量

2016-12-20 23:25:13 330

转载 2016年12月19日学习总结----C语言程序优化

声明:本文转自http://blog.csdn.net/sunjiajiang/article/details/78877241、选择合适的算法和数据结构选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用

2016-12-19 22:09:54 471

原创 2016年12月18日学习总结----关键字

1、register将变量转化为寄存器变量,省去了CPU从内存中抓取数据的时间。作用:register请求编译器尽可能地将变量保存在寄存器中,但是并不一定会成功。使用场合:频繁被访问的变量如循环变量用register修饰。注意:register只能修饰局部变量,不能修饰全局变量和函数;register修饰的变量可能不是在内存中存储,所以不能用&来获取变量的地址;register修饰的变

2016-12-19 00:29:40 428

原创 2016年12月17日学习总结----运算符

1、i++是先使用值,然后在使用结束后做自加,使用结束不是指i++之后,而是指遇到结束符号,比如“;”,举例,i初始值为2,num=(i++)+(i++)+(i++)+(i++);那么最终结果num为8,因为在遇到分号之前i都保持原值不变,结束后因为有四个i++,所以i要做四次自加,即i最终为6,i--类似。2、++i是先做自加然后使用,不需要等到结束符,即出现++i立刻无条件i自加1,--i

2016-12-17 23:41:05 310

转载 2016年12月16日学习总结----C语言开发的IDE

声明:本文转自http://www.csdn.net/article/2014-02-27/2818564-best-compilers-and-ides-for-c-programmersWeb开发者可选择的编程语言有很多比如,Java、.Net、PHP、Ruby、Perl、Python等等,但是今天我们要讨论的是两个古老且非常流行的语言,即C/C++。正是由于其迷人的特性,赋予了它

2016-12-16 23:39:58 456

原创 2016年12月15日学习总结----字符串截取程序

#include #include #define MAX_SIZE 1024char den[MAX_SIZE];void pick_string(char *src,char *h_src,char *t_src){    int i;    int j;    int k;    int m = 0;    int count

2016-12-15 22:48:56 338

原创 2016年12月14日学习总结----位运算程序

#include #include #define MAX_SIZE 1024int len;char src[MAX_SIZE];void num_to_string(int m){    int i = 0;    int temp;    while(m != 0)    {        src[i] =

2016-12-14 23:10:06 311

转载 2016年12月13日学习总结----C语言关键字总结

声明:本文转自http://www.cnblogs.com/haore147/p/3646919.html1.关键字变更历史 1999年12月16日,ISO推出了C99标准,该标准新增了5个C语言关键字:inline restrict _Bool _Complex _Imaginary(注意bool 从来不是C语言的关键字) 2011年12月8日,I

2016-12-13 22:01:51 370

转载 2016年12月12日学习总结----各类链表操作

声明:本文转自http://blog.csdn.net/pf4919501/article/details/38818335   链表概述   链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要

2016-12-12 22:03:48 440

原创 2016年12月11日学习总结----阶段总结

本周主要在学习多维数组与函数的三元素即函数名,函数形参以及函数返回值,并学习了一些目前需要格外注意的一些编码规范。因为大部分同学的考试都基本开始了,因此在C语言方面的学习时间也进行了适当的削减。课程继续在原来延长一周的基础上继续再延长一周,直到十七周结束,因为十七周课设,考试,上课同时进行,压力真的挺大的,原来觉得可以同时考试与上课还可以平衡,但是在遇上课程设计确实有些不知所措。到目前为止

2016-12-11 23:06:24 321

原创 2016年12月10日学习总结----C语言中exit的简单用法及与return的区别

首先exit在C语言中是包含在头文件stdio.h中的,因此在使用时必须要进行头文件的包含。exit的作用是退出整个程序,其实exit的实现体现了C语言的异常处理机制,即在一定条件下,如果某条代码的执行带来可能导致程序运行故障的不确定性时,一般会在后面加上条件判断,一旦符合造成错误的条件,立即通过exit强制退出整个程序,防止了一条代码引起整个程序出错甚至崩溃。一般我们常见的是exit(1

2016-12-10 23:31:52 498

原创 2016年12月9日学习总结---- 函数参数和返回值

1、传入参数:一个变量的值,传入函数让函数使用,叫做传入参数。2、传出参数:一个变量没有值,从函数中带出值的变量叫做传出参数。3、函数返回值注意点:①不能返回栈空间地址,因为一旦函数调用结束,内存立即释放,即不能返回局部变量地址。②#define  LOG-SUCCESS 0(return LOG-SUCCESS)可以通过宏定义提高代码可读性。③C语言主函数加retur

2016-12-09 23:57:09 484

转载 2016年12月8日学习总结----C语言函数传参

声明:本文转自http://c.biancheng.net/cpp/html/494.html一、三道考题开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?)考题一,程序代码如下:void Exchg1(int x, int y){   int tmp;   tmp = x;   x = y;   y = tmp;

2016-12-08 22:46:19 328

原创 2016年12月7日学习总结----今日知识点总结

1、空间分配:指针动态分配内存,内存的利用率较高;数组静态分配内存,由于一开始空间大小就分配好了,很有可能内存过大导致浪费或内存过小不够用,利用率较低。访问空间:指针间接访问,效率较低;数组直接访问,效率较高。安全性:由于指针过于灵活,访问内存可以随意跳转,因此容易产生内存泄漏,内存越界,非法访问内存等问题由于数组的灵活性比指针低了很多,所以同时带来的问题也会比指针少很多。函数传参:指

2016-12-07 23:50:54 263

转载 2016年12月6日学习总结----指针与数组的区别

声明:本文转自http://c.biancheng.net/cpp/html/476.html一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指

2016-12-06 22:41:42 414

转载 2016年12月5日学习总结----回调函数的优点

声明:本文转自http://www.cnblogs.com/ngnetboy/archive/2012/12/05/2803950.html对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级应用。简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给另一个函数,当这个函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。

2016-12-05 23:06:26 311

原创 2016年12月4日学习总结----阶段总结

本周学习内容为指针与数组,一周的学习再加上自己的练习,对指针和数组方面有了全新的认识,尤其是多维指针和数组。以前总觉得很复杂,而现在虽然觉得内容有些绕来绕去,但是我想经过更多的编码练习,应该会能够熟练地掌握。下面三周都是考试周,尤其是16周,有四门考试,同时16周又临时通知要上课,同时还有一些课程的实验安排,复习的压力一下子加大了很多,后面17周课程设计同时要考试,18,19两周要实习,而后面

2016-12-04 22:51:11 434

原创 2016年12月3日学习总结----以三维数组为例谈谈对数组名的理解

定义一个三维数组:int  a[i][j][k];a是三维数组的数组名。a是三维数组中首个二维数组的地址;a+i是三维数组中第i+1个二维数组的地址;*(a+i)是三维数组中第i+1个二维数组中首个一维数组的地址;*(a+i)+j是三维数组中第i+1个二维数组中第j+1个一维数组的地址;*(*(a+i)+j)是三维数组中第i+1个二维数组中第j+1个一位数组中首元素的地址;

2016-12-03 23:25:03 543

转载 2016年12月2日学习总结----malloc的实现原理

本文大致讲解一下Linux下malloc的底层实现原理。首先malloc肯定是从堆中分配内存,而堆又在用户空间中占据什么位置?通过下面这张图可以看出来:很明显是32位系统,寻址空间是4G,linux系统下0-3G是用户模式,3-4G是内核模式。而在用户模式下又分为代码段、数据段、.bss段、堆、栈。各个segment所含内容在图中有具体说明。其中bss段:存放未

2016-12-02 23:01:03 349

转载 2016年12月1日学习总结----GDB调试器的使用

声明:本文转自http://www.cnblogs.com/itech/archive/2011/02/12/1952888.htmlgdb调试器用法GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序。 让被调试的程序在工程师指定的断点处停住,断点可以是条

2016-12-01 23:32:07 510

原创 2016年11月30日学习总结----C语言中野指针的定义、危害及规避

野指针的定义:随机指向一块内存的指针称为野指针。(成因:因为在计算机中,内存的分配由操作系统来管理,要使用内存需要先向操作系统申请,系统分配后才可以使用,而野指针的内存空间是随机分配的,属于非法访问内存。)野指针的危害:容易导致内存泄漏,即失去对内存的控制导致内存的浪费,在程序运行时由于非法访问内存会产生段错误,但是野指针不一定每次都产生段错误,因为有的时候系统分配给野指针的内存是其他变量申请

2016-11-30 22:52:27 576

转载 2016年11月29日学习总结----LinuxC实现密码输入

声明:本程序转载自http://jingyan.baidu.com/article/f71d60379ab3061ab641d10e.html#include #include #include int main(){    char passWord[20];    printf("请输入密码:\n");    getpasswd(

2016-11-29 22:50:16 254

原创 2016年11月28日学习总结----printf格式化输出的注意点及应用

今日学习内容知识汇总:1、printf输出条件:缓冲区填满或者输出语句中含“\n”或“\r”等。因为要填满缓冲区需要的数据太过庞大,而且要知道缓冲区具体多大需要查看设备信息,一来麻烦而来平时的输出语句中几乎不可能需要输出那么多的数据,所以依靠第一种方法行不通。所以在输出语句中要养成在结尾加上“\n”的习惯。注:我们在写程序的过程中往往会发现,其实我们有时候输出语句忘了加“\n”,后面接sc

2016-11-29 00:55:38 428

原创 2016年11月27日学习总结----阶段总结

这一周算是正式开始紧张的C语言程序学习,每次课后都会有相应的程序任务,本周基本都是字符串的处理。    一开始有的程序写不出来会参考别人的程序,一次之后感觉很没有收获。之后便开始坚持自己写,无论出多少错误和警告,无论已经超过规定的上交时间多久,我都坚持自己的去写去不断调试,去一个个纠正自己的错误。一开始编译一大堆得错误和警告,还有很多是自己看不懂的,于是就上网查资料,这样自己的知识也能得到扩展

2016-11-28 00:19:16 427

转载 2016年11月26日学习总结----scanf输入带空格字符串

声明:本文为转载文章,侵权删除。我们用scanf()函数输入一个带空格的字符串函数时,经常会在第一个空格时就停止输入。下面有两种方法可以完整输入字符串1)利用strcat()函数来实现带空格字符串的输入,可以用字符串追加函数strcat()来连接每个单词。 Strcat()一般格式:char*strcat(char*dest,const char*src);

2016-11-26 23:57:45 289

原创 2016年11月25日学习总结----程序

虽然是25日的博客,但是直到26号下午才写,因为昨天晚上到现在一直在调试程序。可能是数学不好吧,调的很累。本以为出结果时会很兴奋,现在却无比平静。程序要求:输入一个语句,将语句中的单词顺序逆向输出,但是单词内容不可以逆序。例:a ab abc.输出为abc ab a.思路:首先将整个句子字母逆序,再把逆序后的单词恢复成原来的顺序。这一点直接用字符串逆序就可以做到。然后建立一个数组,

2016-11-26 13:44:49 334

空空如也

空空如也

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

TA关注的人

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