<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[listfei的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/listfei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; listfei]]></copyright><item><title><![CDATA[十进制正整数转换其他进制]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/145955524</link><guid>https://blog.youkuaiyun.com/listfei/article/details/145955524</guid><author>listfei</author><pubDate>Sat, 01 Mar 2025 23:01:29 +0800</pubDate><description><![CDATA[介绍十进制正整数转换到其他进制的方法，并给出程序代码]]></description><category></category></item><item><title><![CDATA[Java开发环境配置与IDE eclipse安装配置]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/145954719</link><guid>https://blog.youkuaiyun.com/listfei/article/details/145954719</guid><author>listfei</author><pubDate>Sat, 01 Mar 2025 22:26:26 +0800</pubDate><description><![CDATA[java开发环境配置，以及IDE eclipse安装配置]]></description><category></category></item><item><title><![CDATA[【探索 AI 新边界】手把手教你本地部署 DeepSeek：释放私有化 AI 的无限潜力]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/145914854</link><guid>https://blog.youkuaiyun.com/listfei/article/details/145914854</guid><author>listfei</author><pubDate>Thu, 27 Feb 2025 22:21:06 +0800</pubDate><description><![CDATA[本地安装部署deepseek大模型，不再受服务器繁忙，请稍后再试的困扰，小白手把手教程，从0到1本地部署deepseek]]></description><category></category></item><item><title><![CDATA[宏]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/98650600</link><guid>https://blog.youkuaiyun.com/listfei/article/details/98650600</guid><author>listfei</author><pubDate>Tue, 06 Aug 2019 19:28:47 +0800</pubDate><description><![CDATA[不能忽视宏定义中的空格
//#define f (x) ((x)-1)  f 表示 (x) ((x)-1)
#define f(x) ((x)-1)

宏不是函数
#define abs(x) (((x)&gt;=0)?(x):-(x))
#define max(x,y) ((x)&gt;(y)?(x):(y))

宏定义中的括号作用是 预防引起与优先级有关的问题

当一个操作数在两处被用到，被两...]]></description><category></category></item><item><title><![CDATA[连接有关问题]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/98645636</link><guid>https://blog.youkuaiyun.com/listfei/article/details/98645636</guid><author>listfei</author><pubDate>Tue, 06 Aug 2019 18:46:35 +0800</pubDate><description><![CDATA[连接器
在C语言中。一个重要的思想就是分别编译。即若干个源程序能够在不同的时候单独进行编译。然后在恰当的时候整合到一起。
​       典型的连接器把由编译器或汇编器生成的若干个目标模块，整合成一个被称为加载模块或可运行文件的实体，该实体可以被操作系统直接运行。当中，某些目标模块是直接作为输入提供给连接器的；而另外一些目标模块则是依据连接过程的须要，从包含有类似printf函数的库文件里取得的。...]]></description><category></category></item><item><title><![CDATA[整数溢出]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/98645460</link><guid>https://blog.youkuaiyun.com/listfei/article/details/98645460</guid><author>listfei</author><pubDate>Tue, 06 Aug 2019 18:38:32 +0800</pubDate><description><![CDATA[当两个运算符均为有符号整数时，则会存在整数溢出的问题
如两个非负整数相加 a+b
解决办法

将两个整数强制转换为无符号整数

if((unsigned)x+(unsigned)y&gt;INT_MAX)
	complain();
//INT_MAX为最大整数值


不进行强制转换

if(x&gt;INT_MAX-b)
   	complain();


...]]></description><category></category></item><item><title><![CDATA[运算符运算顺序]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/98645201</link><guid>https://blog.youkuaiyun.com/listfei/article/details/98645201</guid><author>listfei</author><pubDate>Tue, 06 Aug 2019 18:36:48 +0800</pubDate><description><![CDATA[求值顺序区别于运算符优先级
c语言中只有四个运算符存在规定的运算顺序
&amp;&amp; || ?:和，
&amp;&amp;和||首先对左侧操作数求值，只有需要时才对右侧操作数求值

(a&gt;b)&amp;&amp;(c&gt;d)
先计算a&gt;b的值，只有当a&gt;b值为真时才计算c&gt;d的值

?:运算符运算顺序：

a?b:c
先计算a的值，再根据a的值计算b或c的值

,...]]></description><category></category></item><item><title><![CDATA[缓冲区处理]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/98628680</link><guid>https://blog.youkuaiyun.com/listfei/article/details/98628680</guid><author>listfei</author><pubDate>Tue, 06 Aug 2019 16:22:09 +0800</pubDate><description><![CDATA[定义数组int a[10] 数组下标为0~9，不包含下标10。
//设置数组a中所有元素为0
int a[10],i;
for(i=0;i&lt;10;i++){
    a[i]=0;
}

编写函数bufwrite，该函数的功能是将长度无规律的输入数据送到缓冲区，送到一块能够容纳N个字符的内存中，每当这块内存被填满时，就将缓冲区的内容写出
#define N 1024
static char ...]]></description><category></category></item><item><title><![CDATA[字符串拼接]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/97552918</link><guid>https://blog.youkuaiyun.com/listfei/article/details/97552918</guid><author>listfei</author><pubDate>Sat, 27 Jul 2019 20:37:21 +0800</pubDate><description><![CDATA[char * r, *malloc();
//字符串s和t的长度之和再加一，多分配一个空字符的空间
r=malloc(strlen(s)+strlen(t)+1);

if(!r){
	//分配内存失败所需做的处理
	complain();
	exit(0);
}
strcpy(r,s);
strcat(r,t);
/*

合并后的操作

*/

free(r);


...]]></description><category></category></item><item><title><![CDATA[数组与指针]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/97552553</link><guid>https://blog.youkuaiyun.com/listfei/article/details/97552553</guid><author>listfei</author><pubDate>Sat, 27 Jul 2019 20:34:09 +0800</pubDate><description><![CDATA[c语言中只有一维数组，而且数组大小必须在编译期就作为一个常数确定下来（C99标准允许变长数组，GCC编译器也实现了变长数组）。c语言数组中元素可以时任何类型的对象，包括数组对象，因此可以仿造出多维数组
对于数组，只能做两件事

确定该数组的大小
获得指向该数组下标为0的元素的指针



其他操作，即使使用下标操作，实质上仍是指针运算。
如果指针指向的是数组中的一个元素，那么给这个指针加n，就能够...]]></description><category></category></item><item><title><![CDATA[悬挂else]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/97542215</link><guid>https://blog.youkuaiyun.com/listfei/article/details/97542215</guid><author>listfei</author><pubDate>Sat, 27 Jul 2019 18:57:30 +0800</pubDate><description><![CDATA[对于问题，当x为0时，若y也为0，则输出错误，否则不做任何操作，当x不为0时，将x和y之和赋给z。
考虑下面程序段
if(x==0)
    if(y==0)printf("error");
else{
    z=x+y;
}

看上去似乎没问题，但由于if，else结合是根据就近原则，因此上述程序段重新调整后：
if(x==0){
    if(y==0) 
        printf("e...]]></description><category></category></item><item><title><![CDATA[c语言 语法问题]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/97513040</link><guid>https://blog.youkuaiyun.com/listfei/article/details/97513040</guid><author>listfei</author><pubDate>Sat, 27 Jul 2019 14:28:43 +0800</pubDate><description><![CDATA[语句结束标志的分号

多写一个分号

if(x[i]&gt;big)
	big=x[i];

与
if(x[i]&gt;big)；
	big=x[i];
//相当于
//if(x[i]&gt;big){}
//  big=x[i];



遗漏分号


情况一
 ```c
 if(n&lt;3)
 	return
 temp=x[0];
 x[0]=x[1];
 x[1]=temp;
 //等同于...]]></description><category></category></item><item><title><![CDATA[运算符优先级]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/83751888</link><guid>https://blog.youkuaiyun.com/listfei/article/details/83751888</guid><author>listfei</author><pubDate>Mon, 05 Nov 2018 16:50:52 +0800</pubDate><description><![CDATA[c语言优先级做个总结表，从上到下优先级递减

运算符
			结合性
		（）[] -&amp;gt; .
			自左向右
		! ~ ++ -- - (type) * &amp;amp; sizeof
			自右向左
		* / %
			自左向右
		+ -
			自左向右
		&amp;lt;&amp;lt; &amp;gt;&amp;gt;
			自左向右
		&amp;lt; &amp;lt;= &amp;gt; &amp;gt;=
			自左向右
		== !=
	...]]></description><category></category></item><item><title><![CDATA[语法陷阱 理解函数声明]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/83621005</link><guid>https://blog.youkuaiyun.com/listfei/article/details/83621005</guid><author>listfei</author><pubDate>Mon, 05 Nov 2018 15:52:38 +0800</pubDate><description><![CDATA[思考一条语句 (*(void(*)())0)();

首先，最简单的单个变量的声明，如float f,g;表示党对其求值时，表达式f和g的类型为浮点数类型，同理函数和指针类型的声明

float ff();    表达式ff()求值结果是一个浮点数

float *p;      *p是一个浮点数，也就是p是一个指向浮点数的指针。

将以上形式结合起来，分析下面两个声明：

float *f();...]]></description><category></category></item><item><title><![CDATA[读c陷阱与缺陷，作为自己的读书笔记]]></title><link>https://blog.youkuaiyun.com/listfei/article/details/83542021</link><guid>https://blog.youkuaiyun.com/listfei/article/details/83542021</guid><author>listfei</author><pubDate>Tue, 30 Oct 2018 15:36:06 +0800</pubDate><description><![CDATA[词法问题

1：=为赋值符号

      ==为比较符号

例如：x=y是将y的值赋给x

          x==y则是判断x和y是否相等（这个问题我刚学编程甚至大学毕业的时候还是犯错）

2：&amp;amp;和｜是按位运算符

      &amp;amp;&amp;amp;和｜｜是逻辑运算符

3：词法分析中的贪心法

         如果输入流截止至某个字符之前都已经被分解为一个个符号，那么下一个符号将包...]]></description><category></category></item></channel></rss>