<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FOLORO的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FOLORO</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FOLORO]]></copyright><item><title><![CDATA[atoi与itoa]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53470999</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53470999</guid><author>FOLORO</author><pubDate>Mon, 05 Dec 2016 22:39:12 +0800</pubDate><description><![CDATA[linux下有atoi函：
ATOI(3)                    Linux Programmer’s Manual                  
 ATOI(3)


NAME
       atoi, atol, atoll, atoq - convert a string to an integer


SYNOPSIS
       #includ]]></description><category></category></item><item><title><![CDATA[枚举与宏]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53413833</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53413833</guid><author>FOLORO</author><pubDate>Wed, 30 Nov 2016 21:03:33 +0800</pubDate><description><![CDATA[1． 枚举的声明，其形式为：访问修饰符 enum 枚举名: 基础类型 { 枚举成员(标识符) } 
说明：任意枚举类型都有基础类型，该基础类型可以是除 char 以外的任何整型，如:short、ushort、int、uint、long 、 ulong。基础类型必须能够表示该枚举中定义的所有枚举成员。枚举声明时可以对基础类型进行显式地声明。而没有显式声明时基础类型默认是 int。基础类型指定为每个]]></description><category></category></item><item><title><![CDATA[sizeof与strlen]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53400219</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53400219</guid><author>FOLORO</author><pubDate>Tue, 29 Nov 2016 21:13:47 +0800</pubDate><description><![CDATA[一、sizeof的概念 
  sizeof是C语言的一种单目操作符，如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型定。 



二、sizeof的使用方法 
1、用于数据类型 
sizeof使用形式：sizeof（type） 
数据类型必须用括号括住。如]]></description><category></category></item><item><title><![CDATA[单链表，可变参数函数]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53340355</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53340355</guid><author>FOLORO</author><pubDate>Fri, 25 Nov 2016 21:46:32 +0800</pubDate><description><![CDATA[顺序表利用数组元素在物理位置上的邻接关系来表示线性表中的数据元素之间的逻辑关系，所以顺序表有这些缺点；
1,插入和删除操作需移动大量元素；
2，表的容量难以确定；
3，造成存储空间的“碎片”。
所以我们可以利用动态存储分配来存储线性表——单链表，
其存储单元可以是连续的也可以是不连续的，
结点由两部分组成;数据域（存放数据元素），指针域（存放后继元素的地址（结点地址））。
由于第一个]]></description><category></category></item><item><title><![CDATA[内联函数]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53325558</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53325558</guid><author>FOLORO</author><pubDate>Thu, 24 Nov 2016 20:23:41 +0800</pubDate><description><![CDATA[1  inline只是个编译器建议，编译器不一定非得展开Inline函数。
    例如：
             Inline函数地址引用
             inline在递归函数中使用
2  inline必须用于函数定义，对于函数声明，inline不起作用
    例如：
     inline max(int,int);  //没有Inline作用
     只有 i]]></description><category></category></item><item><title><![CDATA[volatile关键字]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53312808</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53312808</guid><author>FOLORO</author><pubDate>Wed, 23 Nov 2016 22:08:59 +0800</pubDate><description><![CDATA[volatile关键字是一种类型修饰符，用它声明的类型变量表示可以被某些编译器未知的因素更改。
用volatile关键字声明的变量i每一次被访问时，执行部件都会从i相应的内存单元中取出i的值。
没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值（因为之前i被访问过，也就是说之前就从内存中取出i的值保存到某个寄存器中），之所以直接从寄存器中取值，而不去内存中取值]]></description><category></category></item><item><title><![CDATA[typedef与#define区别]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53292241</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53292241</guid><author>FOLORO</author><pubDate>Tue, 22 Nov 2016 21:48:00 +0800</pubDate><description><![CDATA[Typedef和define都可以用来给对象取一个别名，但是两者却有着很大不同。 

1． 首先，二者执行时间不同  关键字typedef在编译阶段有效，由于是在编译阶段，因此typedef有类型检查的功能。  Define则是宏定义，发生在预处理阶段，也就是编译之前，它只进行简单而机械的字符串替换，而不进行任何检查。    #define用法例子：
#define f(x) x*x mai]]></description><category></category></item><item><title><![CDATA[随记]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53264412</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53264412</guid><author>FOLORO</author><pubDate>Mon, 21 Nov 2016 21:11:25 +0800</pubDate><description><![CDATA[今天的学习收获，预习了数据结构部分内容，线性表，顺序表，单链表，双链表以及静态链表等名词解释，主要对单链表等了解一下，区分了他与顺序表的不同，单链表通过结点使数据存储单元可以是连续的也可以是不连续的，改变了顺序表通过连续地址的存储单元依次存储线性表的数据元素。虽然了解了我们可以对表进行一系列的像初始化，求长度，按位查找，按指查找，插入，删除，遍历等操作，但对其的程序实现，原理等还不清楚，需要自己敲]]></description><category></category></item><item><title><![CDATA[Linux开机自启动程序]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53207548</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53207548</guid><author>FOLORO</author><pubDate>Thu, 17 Nov 2016 21:59:29 +0800</pubDate><description><![CDATA[见过在windows下设置一个程序自启动，接触Linux后怎样设置一些程序开机自启动?
linux中设置自动启动可以编辑/etc/rc.d/rc.local文件，使用vim在/etc/rc.d/rc.local添加你需要启动的内容即可。Linux加载后,
 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程，启动其它进程。通常情况下，修改放置在 /etc/]]></description><category></category></item><item><title><![CDATA[malloc，realloc，calloc函数]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53191732</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53191732</guid><author>FOLORO</author><pubDate>Wed, 16 Nov 2016 20:44:18 +0800</pubDate><description><![CDATA[在上一篇文章中，使用malloc函数给指针分配空间，注意到还有realloc，calloc函数，同为c内存分配函数，它们之间有何异同？
   三个函数的申明分别是:
   void* realloc(void* ptr, unsigned newsize);
   void* malloc(unsigned size);
  void* calloc(size_t numElements,]]></description><category></category></item><item><title><![CDATA[笔记]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53164874</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53164874</guid><author>FOLORO</author><pubDate>Mon, 14 Nov 2016 21:38:01 +0800</pubDate><description><![CDATA[今天接触到了常见导致段错误的野指针，学习了如何避免以及解决，由此学习了如何从另一角度评判判一段程序。
1，但一个指针没有指向时，应该置为NULL；
2，检查指针是否分配空间，应该用malloc函数奉陪；
3，检查malloc分配空间是否成功；
4，检查分配空间是否为空；
5，释放空间；
6，用完置空；
关于malloc函数的实现在Linuxc下的解释是
NAME
       c]]></description><category></category></item><item><title><![CDATA[函数指针与指针函数]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53133231</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53133231</guid><author>FOLORO</author><pubDate>Fri, 11 Nov 2016 21:16:02 +0800</pubDate><description><![CDATA[函数指针
     函数类型”说明函数的返回类型，“(标志符指针变量名 )”中的括号不能省，若省略整体则成为一个函数说明，说明了一个返回的数据类型是指针的函数，后面的“形参列表”表示指针变量指向的函数所带的参数列表。


函数指针的声明方法为:

返回值类型 ( * 指针变量名) ([形参列表]);

注1:"返回值类型"说明函数的返回类型，"(指针变量名 )"中的括号不能省，括号]]></description><category></category></item><item><title><![CDATA[函数的参数与返回值]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53122770</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53122770</guid><author>FOLORO</author><pubDate>Thu, 10 Nov 2016 22:39:52 +0800</pubDate><description><![CDATA[函数的参数
在函数定义中出现的参数可以看做是一个占位符，它没有数据，只能等到函数被调用时接收传递进来的数据，所以称为形式参数，简称形参。

函数被调用时给出的参数包含了实实在在的数据，会被函数内部的代码使用，所以称为实际参数，简称实参。

形参和实参的功能是作数据传送，发生函数调用时，实参的值会传送给形参。

形参和实参有以下几个特点：
1) 形参变量只有在函数被调用时才会分配内存]]></description><category></category></item><item><title><![CDATA[栈空间与堆空间]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53106305</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53106305</guid><author>FOLORO</author><pubDate>Wed, 09 Nov 2016 21:27:48 +0800</pubDate><description><![CDATA[c程序的内存分配：
1，栈空间：局部变量，函数形参，自动变量，系统管理先进后出
2，堆空间：malloc，calloc，ralloc函数，用户管理先进先出
3，全局数据区：bss未初始化，全局变量；ordat，常量；静态数据区：初始化全局变量
4，代码区；存放函数二进制代码


堆和栈的区别：

1、由以上综述就可以得知，他们程序的内存分配方式不同。

2、申请和响应不同：]]></description><category></category></item><item><title><![CDATA[位运算应用]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53088813</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53088813</guid><author>FOLORO</author><pubDate>Tue, 08 Nov 2016 21:44:50 +0800</pubDate><description><![CDATA[位运算符的应用 (源操作数s 掩码mask)

(1) 按位与-- &

1 清零特定位 (mask中特定位置0，其它位为1，s=s&mask)

2 取某数中指定位 (mask中特定位置1，其它位为0，s=s&mask)

(2) 按位或-- |

常用来将源操作数某些位置1，其它位不变。 (mask中特定位置1，其它位为0 s=s |mask)

(3) 位异或-- ^]]></description><category></category></item><item><title><![CDATA[段错误]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53072603</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53072603</guid><author>FOLORO</author><pubDate>Mon, 07 Nov 2016 21:59:52 +0800</pubDate><description><![CDATA[1什么是段错误

 

      所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间，通常这个值是由gdtr来保存的，他是一个48位的寄存器，其中的32位是保存由它指向的gdt表，后13位保存相应于gdt的下标，最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表，在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应]]></description><category></category></item><item><title><![CDATA[位运算与小数的二进制表示]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53056935</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53056935</guid><author>FOLORO</author><pubDate>Sun, 06 Nov 2016 21:51:02 +0800</pubDate><description><![CDATA[C语言提供了六种位运算符号;按位与&，按位或|，按位异或^，左移及右移。
&：参与运算的两个数对应二进制位相与，均为1时，结果位为1，否则为0；参与运算的数以补码的方式出现。
|：参与运算的两个数对应二进制位相或，只要两个二进位有一个为1时，结果位1，参与运算的数以补码的方式出现。
^；参与运算的两个数对应二进制位相异或，当对应的二进位相异时，结果为1，参与运算的数以补码的方式出现。

]]></description><category></category></item><item><title><![CDATA[关于进制]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53048504</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53048504</guid><author>FOLORO</author><pubDate>Sat, 05 Nov 2016 22:45:57 +0800</pubDate><description><![CDATA[进制也就是进制位，对于接触过电脑的人来说应该都不陌生，我们常用的进制包括：二进制、八进制、十进制与十六进制，它们之间区别在于数运算时是逢几进一位。


1.

2进制从最后一位开始（从右向左），把每一位数字分别乘以2^0,2^1,2^2,2^3...然后全部加起来就是对应的10进制数了

2.

2进制转成8进制，从右向左，每三位一组隔开（最左边那组可能不到3位），然后用计算10]]></description><category></category></item><item><title><![CDATA[Linux下头文件]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53035288</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53035288</guid><author>FOLORO</author><pubDate>Fri, 04 Nov 2016 15:03:49 +0800</pubDate><description><![CDATA[今天在敲一个程序时用到了VC下的一个conio.h头文件，发现在Linux里面编译不了，找了点关于这个头文件的资料：


conio.h不是C标准库中的头文件，在C standard library，ISO C 和POSIX标准中均没有定义。

conio是Console Input/Output(控制台输入输出)的简写，其中定义了通过控制台进行数据输入和数据输出的函数，主要是一些用户通]]></description><category></category></item><item><title><![CDATA[elf文件]]></title><link>https://blog.youkuaiyun.com/FOLORO/article/details/53025507</link><guid>https://blog.youkuaiyun.com/FOLORO/article/details/53025507</guid><author>FOLORO</author><pubDate>Thu, 03 Nov 2016 20:37:45 +0800</pubDate><description><![CDATA[Linux ELF ELF = Executable and Linkable Format，可执行连接格式，是UNIX系统实验室（USL）作为应用程序二进制接口（Application
 Binary Interface，ABI）而开发和发布的。扩展名为elf。工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。假定开]]></description><category></category></item></channel></rss>