<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[smith342的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/smith342</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smith342]]></copyright><item><title><![CDATA[multiple definition of XXX]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/128011968</link><guid>https://blog.youkuaiyun.com/smith342/article/details/128011968</guid><author>smith342</author><pubDate>Thu, 24 Nov 2022 09:49:46 +0800</pubDate><description><![CDATA[instruction.c文件中增加变量定义：handler_t handler_table[NUM_INSTRTYPE];各c文件单独编译应该是没有问题的，但是一起编译链接就会出现上述问题。dram.c中增加变量定义：uint8_t mm[MM_LEN];同时在code.c文件中增加变量定义：reg_t reg;src/memory/instruction.h文件。src/cpu/register.h文件。src/memory/dram.h文件。src/disk/elf.h文件。]]></description><category></category></item><item><title><![CDATA[C语言中的空宏定义]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/127812497</link><guid>https://blog.youkuaiyun.com/smith342/article/details/127812497</guid><author>smith342</author><pubDate>Sat, 12 Nov 2022 15:17:31 +0800</pubDate><description><![CDATA[看源代码中有如下宏定义：#define TYPEDEF与平常的宏定义有点不一样，于是查了下这种宏有什么用，总结如下：等价于“#define __TYPE_DEFINE__ do {} while (0)”


上面代码输出：1.With Macro TYPE DEFINE如果注释掉“#define __TYPE_DEFINE__”，则输出变成：2.Without Macro TYPE DEFINE


3、占位符，用于不同平台移植

linux环境开发的代码，可以定义部分Win32相关的空宏，方便移植。]]></description><category></category></item><item><title><![CDATA[c语言const关键字]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/126177098</link><guid>https://blog.youkuaiyun.com/smith342/article/details/126177098</guid><author>smith342</author><pubDate>Fri, 05 Aug 2022 15:05:24 +0800</pubDate><description><![CDATA[一直以来对const关键字比较迷惑，今天好好梳理一下。const表示常量，即只读变量，不能写，无法改变。在变量定义的时候const可以放在多个位置，例如：const char *p、char const *p、char * const p、char *p const和const char * const p。首先const的位置可以分为两类，即*后和*前。...]]></description><category></category></item><item><title><![CDATA[函数指针数组]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/126130840</link><guid>https://blog.youkuaiyun.com/smith342/article/details/126130840</guid><author>smith342</author><pubDate>Tue, 02 Aug 2022 21:35:29 +0800</pubDate><description><![CDATA[第一次使用函数指针数组。]]></description><category></category></item><item><title><![CDATA[C语言二维数组用一维数组进行调用]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/126109998</link><guid>https://blog.youkuaiyun.com/smith342/article/details/126109998</guid><author>smith342</author><pubDate>Mon, 01 Aug 2022 21:03:29 +0800</pubDate><description><![CDATA[以前就知道C语言的二维数组在内存中是一维数组进行存储的，但是没有试过使用一维数组对二维数组进行调用。原以为编译会报错，但实际上没有报错。]]></description><category></category></item><item><title><![CDATA[c语言二维数组和二级指针]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/125657407</link><guid>https://blog.youkuaiyun.com/smith342/article/details/125657407</guid><author>smith342</author><pubDate>Thu, 07 Jul 2022 15:22:59 +0800</pubDate><description><![CDATA[在做这到道题目时，使用到了二维数组和二级指针，直接将二维数组num赋值给二级指针moves，编译过程会报如下告警：warning: assignment to ‘int **’ from incompatible pointer type ‘int (*)[2]’ [-Wincompatible-pointer-types]于是将二维数组进行类型强制转换：moves=(int **)num; 再次编译告警消失，但是运行会报段错误“Segmentation fault (core dumped)”。力扣 

]]></description><category></category></item><item><title><![CDATA[C语言字符串访问越界]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/125559236</link><guid>https://blog.youkuaiyun.com/smith342/article/details/125559236</guid><author>smith342</author><pubDate>Fri, 01 Jul 2022 15:14:37 +0800</pubDate><description><![CDATA[力扣 https://leetcode.cn/problems/greatest-common-divisor-of-strings/在做这道题目时，一直报内存访问越界。调试后找到问题所在，对于可能越界的地方，都需要先加上限制条件后再进行访问。]]></description><category></category></item><item><title><![CDATA[C语言链表，指针内存分配]]></title><link>https://blog.youkuaiyun.com/smith342/article/details/122320255</link><guid>https://blog.youkuaiyun.com/smith342/article/details/122320255</guid><author>smith342</author><pubDate>Wed, 05 Jan 2022 11:52:30 +0800</pubDate><description><![CDATA[力扣https://leetcode-cn.com/problems/merge-two-sorted-lists/submissions/做这道题目的时候，定义了ListNode指针p，但是没有分配内存，直接初始化，运行时报错。

Line 14: Char 11: runtime error: member access within null pointer of type 'struct ListNode' [solution.c]。分配内存后问题解决。


/**
 * Definition fo]]></description><category></category></item></channel></rss>