<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ROBIN__dyc的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ROBIN__dyc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ROBIN__dyc]]></copyright><item><title><![CDATA[动态内存管理]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144562636</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144562636</guid><author>ROBIN__dyc</author><pubDate>Wed, 18 Dec 2024 21:53:45 +0800</pubDate><description><![CDATA[没有足够的空间时，则在堆空间上另找一个合适大小的连续空间来使用，把旧的空间释放，这样返回值时一个新的内存地址。free函数用来释放动态开辟的内存，ptr指向的是要释放空间的起始地址。如果ptr指向的空间不是动态开辟的，那么free函数的行为是未定义的；如果开辟成功，则返回一个指向开辟好的空间的指针，开辟失败则返回NULL指针；ptr是要调整的内存空间的起始地址，size是调整后的大小，这个函数调整原内存空间大小的基础上，还会将原来内存中的数据移动到新的空间。常见的动态内存的错误。]]></description><category></category></item><item><title><![CDATA[枚举]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144560856</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144560856</guid><author>ROBIN__dyc</author><pubDate>Wed, 18 Dec 2024 14:53:15 +0800</pubDate><description><![CDATA[枚举在C语言中通常用于提高代码的可读性，使得程序员可以使用更加由意义的符号代表一组相关的常量值，而不必记住这些常量对应的具体数值。{}中的内容是枚举类型的可能取值，也叫枚举常量，默认从0开始，依次递增1；在声明枚举类型时也可以赋初始值。5.枚举常量是遵循作用域规则的，枚举声明在函数内，只能在函数内使用。2.和#define定义的标识符比较，枚举有类型检查，更加严谨。3.便于调试，预处理阶段会删除#define定义的符号。4.使用方便，每次可以定义多个常量。1.增加代码的可读性和可维护性。]]></description><category></category></item><item><title><![CDATA[联合体]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144560073</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144560073</guid><author>ROBIN__dyc</author><pubDate>Wed, 18 Dec 2024 14:41:48 +0800</pubDate><description><![CDATA[给联合体其中一个成员赋值，其他成员的值也跟着变化，在一个时间点只能使用一个成员（根据此特点，可以在适当的时候使用联合体）联合变量的大小至少是最大成员的大小；当最大成员的大小表示最大对齐数的整数倍的时候，要对齐到最大对齐数的整数倍。像结构体一样，联合体也是由一个或多个成员构成的，但是所有成员共用一块内存空间，故联合体也叫共用体。联合体与结构体的对比。]]></description><category></category></item><item><title><![CDATA[位段]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144559499</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144559499</guid><author>ROBIN__dyc</author><pubDate>Wed, 18 Dec 2024 14:14:36 +0800</pubDate><description><![CDATA[位段的几个成员共有同一个字节，这样有些成员的起始位置并不是某个字节的起始位置，是没有地址的，所以不能对位段的成员使用&操作符。数字表示相应的成员占几个二进制位（比特），因此位段式的结构体大小明显小于同样成员的普通结构体的大小的，其实位段的出现主要是在完成功能的情况下尽量节省内存。4.当一个结构包含两个位段，第二个位段成员比较大，无法容纳与第一个位段剩余的位时，时舍弃剩余的位还是利用时不确定的。网络传输的数据报中有许多属性只需几个bit位就能描述，这里使用位段，能够实现想要的效果，也节省了空间。]]></description><category></category></item><item><title><![CDATA[结构体]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144549951</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144549951</guid><author>ROBIN__dyc</author><pubDate>Wed, 18 Dec 2024 11:37:20 +0800</pubDate><description><![CDATA[原因在于，为了访问未对齐的内存，处理器需要作两次内存访问，而对齐的内存访问仅需要一次访问。2.其他成员变量要对齐到某个数字（对齐数）的整数倍的地址处（对齐数=min{编译器默认的对齐数,该成员变量大小}；4.如果嵌套了结构体，则嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处，结构体的整体大小就是所有最大对齐数（含嵌套结构体）的整数倍。结构的每个成员可以是不同类型的变量，如：标量、数组、指针，甚⾄是其他结构体。1.结构体的第一个成员对齐到和架构提变量起始地址偏移量为0的地址处。]]></description><category></category></item><item><title><![CDATA[字符3]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144549030</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144549030</guid><author>ROBIN__dyc</author><pubDate>Wed, 18 Dec 2024 08:29:54 +0800</pubDate><description><![CDATA[atol将字符串转换成long类型；stryol将字符串转换成long类型，可以按照各种进制转换。]]></description><category></category></item><item><title><![CDATA[内存块]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144545501</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144545501</guid><author>ROBIN__dyc</author><pubDate>Wed, 18 Dec 2024 08:15:01 +0800</pubDate><description><![CDATA[用于设置内存块的内容，以字节为单位设置。memmove在拷贝内存时允许重叠。]]></description><category></category></item><item><title><![CDATA[字符2]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144544878</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144544878</guid><author>ROBIN__dyc</author><pubDate>Tue, 17 Dec 2024 21:44:47 +0800</pubDate><description><![CDATA[当源字符串的字符个数不够时，在末尾追加一个'\0'。strcat在追加的时候，把源字符串的所有内容，包括'\0'都进行拷贝；使用strncat时，源字符串不一定有'\0'n表示最多拷贝n个字符到目标字符串，当源字符串的字符个数不够时，就拷贝'\0'直至拷贝n个(源字符串不一定有'\0'），相对strcpy更加安全。用于查找str2指向的字符串在str1指向的字符串第一次出现的位置。]]></description><category></category></item><item><title><![CDATA[字符1]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144542389</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144542389</guid><author>ROBIN__dyc</author><pubDate>Tue, 17 Dec 2024 20:28:51 +0800</pubDate><description><![CDATA[C语言中有一系列的函数是专门做字符分类的，这些函数的使用都需要包含一个头文件<ctype.h>]]></description><category></category></item><item><title><![CDATA[函数2]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144513711</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144513711</guid><author>ROBIN__dyc</author><pubDate>Mon, 16 Dec 2024 20:12:56 +0800</pubDate><description><![CDATA[如果把函数的指针作为参数传递给另一个函数，当这个指针被用来调用其所指向的函数时，被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用，而是在特定的实践或条件发生时由另外一方调用的，用于对该实践或条件进行响应。typedef是用来给类型重命名的，可以将复杂的类型简单化。函数有地址，函数名 和 &函数名 拿到的都是函数的地址。typedef关键字。]]></description><category></category></item><item><title><![CDATA[指针与数组]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144481916</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144481916</guid><author>ROBIN__dyc</author><pubDate>Mon, 16 Dec 2024 17:13:13 +0800</pubDate><description><![CDATA[数组名就是数组首元素的地址，但有两个例外：sizeof(数组名)计算整个数组的大小，单位是字节；&数组名取出整个数组的地址，展示为首元素的地址，+1跳过整个数组。数组传参本质上传递的是数组首元素的地址，函数的形参部分理论上应该用指针变量来接收首元素的地址。一维数组传参，形参布恩可以写成数组的形式，也可以写成指针的形式。指针数组模拟二维数组。]]></description><category></category></item><item><title><![CDATA[指针]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144409368</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144409368</guid><author>ROBIN__dyc</author><pubDate>Sun, 15 Dec 2024 09:30:38 +0800</pubDate><description><![CDATA[3.void*可以理解为无具体类型的指针（泛型指针），可以接受任意类型地址，但帮你直接进行指针的+-整数和解引用的运算。一般void*类型的指针是使用在函数参数的部分，用来接收不同类型的地址，需要使用时再转换成需要的类型。2.const放在*左边，修饰指针变量指向的对象，即不能通过指针变量修改指向的内容，但可以修改指针变量本身，即指针变量的指向；函数内部要修改主调函数中的变量的值时，需要传址调用。通过取地址操作符（&，去除变量所占的字节中地址较小的那一个）拿到的地址是一个数值，可以存放在指针变量中。]]></description><category></category></item><item><title><![CDATA[函数递归]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144382624</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144382624</guid><author>ROBIN__dyc</author><pubDate>Tue, 10 Dec 2024 20:40:10 +0800</pubDate><description><![CDATA[很多问题递归的形式比非递归更加清晰，但这类问题的迭代实现往往比迭代实现效率更高。当一个问题非常复杂，难以用迭代的方式实现时，递归的简洁性可以补偿它所带来的运行时的开销；当用递归有明显缺陷时（比如斐波那契数列）递归函数的调用过程会占用多层函数栈帧，回归时才逐层释放，递归层次太深会导致浪费太多栈空间，可能引起栈溢出的问题。可以用迭代（循环）的方式替代递归解决问题。递归存在限制条件，且每次递归调用之后越来越接近这个限制条件。以上循环需要多次计算，计算次数成指数增长。]]></description><category></category></item><item><title><![CDATA[字符串和字符数组]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144151954</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/144151954</guid><author>ROBIN__dyc</author><pubDate>Sat, 30 Nov 2024 11:43:56 +0800</pubDate><description><![CDATA[1.C语⾔中有字符类型，但是没有字符串类型，C语⾔中字符串就是由双引号引起来的⼀串字符。与上例不同，使用常量字符串初始化的时候，数组多了一个'\0'字符。strlen函数统计的是字符串中\0之前的字符的个数。2.字符串中隐藏一个\0，是字符串结束的标志。可以使用scanf和printf函数。字符串常量初始化字符数组。字符数组的创建和初始化。字符数组的输入和输出。]]></description><category></category></item><item><title><![CDATA[小南找书]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143937467</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143937467</guid><author>ROBIN__dyc</author><pubDate>Thu, 21 Nov 2024 11:23:25 +0800</pubDate><description><![CDATA[创建过程中使用的循环嵌套可能导致调试困难；编号比较时每次需包含大量运算，效率较低。2.编号自减（上述程序展示的方法）1.创建二维数组，进行编号的比较。]]></description><category></category></item><item><title><![CDATA[打印图形]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143933545</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143933545</guid><author>ROBIN__dyc</author><pubDate>Thu, 21 Nov 2024 10:10:10 +0800</pubDate><description><![CDATA[1.改进binomialCoeff函数，将计算出的元素存入二维数组。1.binomialCoeff函数包含大量的重复计算。2.使用其他方法计算第n个素数，如埃拉托斯特尼筛选法。2.nthPrime函数效率低下。]]></description><category></category></item><item><title><![CDATA[分数加减]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143896506</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143896506</guid><author>ROBIN__dyc</author><pubDate>Tue, 19 Nov 2024 21:57:04 +0800</pubDate><description><![CDATA[【代码】分数加减。]]></description><category></category></item><item><title><![CDATA[卡牌排序]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143839968</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143839968</guid><author>ROBIN__dyc</author><pubDate>Sun, 17 Nov 2024 22:20:07 +0800</pubDate><description><![CDATA[【代码】卡牌排序。]]></description><category></category></item><item><title><![CDATA[函数]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143790792</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143790792</guid><author>ROBIN__dyc</author><pubDate>Sun, 17 Nov 2024 20:23:44 +0800</pubDate><description><![CDATA[非void的函数必须使用return语句来指定将要返回的值，如果return语句中的表达式类型和函数的返回类型不匹配，那么系统将会把表达式的类型隐式转化成返回类型。在调用函数时，第一个参数是数组的名字（不包含方括号），第二个参数是数组的长度。编译器在调用前遇到原型，每个实际参数的值被隐式地转换成相应形式参数的类型。以上定义中第一个参数的值确定了第二个参数的长度（参数的顺序很重要）。用*是合法的，因为形式参数的名字是可选的。4.函数可以改变数组型形式参数的元素，且改变会在相应的实际参数中体现出来。]]></description><category></category></item><item><title><![CDATA[数组]]></title><link>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143786113</link><guid>https://blog.youkuaiyun.com/ROBIN__dyc/article/details/143786113</guid><author>ROBIN__dyc</author><pubDate>Fri, 15 Nov 2024 11:03:12 +0800</pubDate><description><![CDATA[数组是含有多个数据值的数据结构，并且每个数据值具有相同的数据类型。数组的元素可以是任何类型，数组的长度可用任何（整数）常量表达式（不超过10000）指定。因为程序以后改变时昆明需要调整数组的长度，所以较好的方法是用宏来定义数组的长度。2.以下表达式可能出现警告，因为i的类型是int（有符号类型），sizeof返回的值类型为size_t（无符号类型），故可进行强制转换。初始化式完全为空或比数组长是非法的，如果初始化式比数组短，那么数组中剩余的元素赋值为0；如果数组的长度是省略的，指示符可以是任意非负整数。]]></description><category></category></item></channel></rss>