自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 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 562

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

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

2016-12-28 14:05:00 413

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

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

2016-12-28 14:01:53 416

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

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

2016-12-28 13:46:07 281

原创 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 1248

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

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

2016-12-28 13:34:55 354

原创 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 332

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

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

2016-12-20 23:25:13 346

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

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

2016-12-19 22:09:54 487

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

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

2016-12-19 00:29:40 447

原创 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 335

转载 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 479

原创 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 355

原创 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 326

转载 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 393

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

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

2016-12-12 22:03:48 457

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

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

2016-12-11 23:06:24 336

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

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

2016-12-10 23:31:52 517

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

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

2016-12-09 23:57:09 510

转载 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 344

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

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

2016-12-07 23:50:54 276

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

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

2016-12-06 22:41:42 431

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

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

2016-12-05 23:06:26 327

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

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

2016-12-04 22:51:11 448

原创 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 567

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

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

2016-12-02 23:01:03 365

转载 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 531

空空如也

空空如也

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

TA关注的人

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