<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_57732810的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_57732810</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_57732810]]></copyright><item><title><![CDATA[二叉树的初阶笔记]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/125904362</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/125904362</guid><author>m0_57732810</author><pubDate>Thu, 21 Jul 2022 14:34:24 +0800</pubDate><description><![CDATA[二叉树]]></description><category></category></item><item><title><![CDATA[栈与队列的实现]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/125053336</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/125053336</guid><author>m0_57732810</author><pubDate>Mon, 30 May 2022 20:42:31 +0800</pubDate><description><![CDATA[目录

栈

初始化

销毁

入栈

出栈

获取栈顶元素

判断栈是否为空

栈的大小

队列

初始化

销毁

入队列

出队列

取队头

取队尾

判空

队列长度

栈

1.初始化


//初始化
void StackInit(ST*ps)
{
	ps-&gt;a = NULL;
	ps-&gt;capacity = 0;
	ps-&gt;top = 0;
}

2.销毁


void StackDestroy(ST*ps)
{
	free(ps-&gt;a);
	ps-&gt;a = NU]]></description><category></category></item><item><title><![CDATA[动态内存分配]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/124101161</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/124101161</guid><author>m0_57732810</author><pubDate>Mon, 11 Apr 2022 16:03:25 +0800</pubDate><description><![CDATA[为什么存在动态内存分配？



我们已有的开辟内存空间的方式：在栈上开辟空间

例如:


int val = 20;//在栈空间上开辟四个字节
char arr[10] = {0};//在栈空间上开辟10个字节的连续空间

但是上述的开辟空间的方式有两个特点：

1. 空间开辟大小是固定的。
2. 数组在申明的时候，必须指定数组的长度，它所需要的内存在编译时分配

但是对于空间的需求，不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道，
那数组的编译时开辟空间的方式就不能满足了。
这时候]]></description><category></category></item><item><title><![CDATA[浅谈：结构体内存对齐]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/123754635</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/123754635</guid><author>m0_57732810</author><pubDate>Sat, 26 Mar 2022 14:27:55 +0800</pubDate><description><![CDATA[现在深入讨论一个问题我们：计算结构体的大小。

分析如下代码1：


struct S1
{
	char c1;
	int i;
	char c2;
};
int main()
{
	printf("%d\n", sizeof(struct S1));
	return 0;
}

按照以往的思路，该结构体大小应为：1+4+1=6；但结果为12个字节；为什么？

这就涉及到了结构体内存对齐！

结构体内存对齐规则：

1. 第一个成员在与结构体变量偏移量为0的地址处。 

2. 其他成员变量要对齐到某个数字（]]></description><category></category></item><item><title><![CDATA[字符函数与字符串函数]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/123688779</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/123688779</guid><author>m0_57732810</author><pubDate>Fri, 25 Mar 2022 19:32:27 +0800</pubDate><description><![CDATA[目录

一.字符函数与字符串函数

1.strlen

2.strcpy

3.strcmp
4.strstr

5.strtok
]]></description><category></category></item><item><title><![CDATA[c指针进阶（上）]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/123276457</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/123276457</guid><author>m0_57732810</author><pubDate>Tue, 15 Mar 2022 15:30:09 +0800</pubDate><description><![CDATA[目录

一.字符指针

二.指针数组

三.数组指针

四.数组参数，指针参数

五.函数指针

六.函数指针数组



一.字符指针

与整型指针类似，创建一个字符变量，取出地址，并存放到一个字符指针变量中，通过解引用操作可以修改字符值


//int main()
//{
//	char ch = 'w';
//	char*pc = &amp;ch;
//	*pc = 'a';
//	printf("%c", ch);
//
//}


注意：char*p="abcdef";该代码并非是将整个字符串..]]></description><category></category></item><item><title><![CDATA[数据在内存中的存储]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/123223768</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/123223768</guid><author>m0_57732810</author><pubDate>Wed, 02 Mar 2022 14:45:03 +0800</pubDate><description><![CDATA[目录：

    1.数据类型介绍

      1.1.类型的基本归类 

    2.整型在内存中的存储

      2.1.原码，反码，补码

      2.2.大小端介绍

    3.浮点型在内存中的存储

      3.1.浮点数存储规则

      3.2实例分析

1.数据类型介绍

1.1.类型的基本归类

整型家族


char
 unsigned char
 signed cha...]]></description><category></category></item><item><title><![CDATA[三子棋—c语言实现]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/122906340</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/122906340</guid><author>m0_57732810</author><pubDate>Mon, 14 Feb 2022 10:53:18 +0800</pubDate><description><![CDATA[目录

  一、功能描述

  二、流程分析

  三、具体步骤

       1、菜单

       2、初始化棋盘

        

  四、代码实现

  五、演示过程

一、功能描述

用c语言实现三子棋游戏。

二、流程分析

1.创建游戏菜单栏，选择开始或者退出

2.用数组存放下棋的数据，初始换棋盘并且打印棋盘

3.

三、具体步骤

1.创建菜单

选择1开始游戏，选择0退出游戏


void menu()...]]></description><category></category></item><item><title><![CDATA[递归—青蛙跳台阶问题]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/122879252</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/122879252</guid><author>m0_57732810</author><pubDate>Fri, 11 Feb 2022 14:33:13 +0800</pubDate><description><![CDATA[目录



题意说明（前言）

一、思路

二、代码

三、拓展

总结







前言：

一只青蛙可以一次跳 1 级台阶或一次跳 2 级台阶,例如:跳上第一级台阶只有一种跳法:直接跳 1 级即可。跳上两级台阶,有两种跳法: 每次跳 1 级,跳两次; 或者一次跳 2 级.问要跳上第 n 级台阶有多少种跳法?



一、思路：

递归通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解，递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算，大大地减少了程序的代码量；

根据递]]></description><category></category></item><item><title><![CDATA[第一篇博客]]></title><link>https://blog.youkuaiyun.com/m0_57732810/article/details/121870696</link><guid>https://blog.youkuaiyun.com/m0_57732810/article/details/121870696</guid><author>m0_57732810</author><pubDate>Sat, 11 Dec 2021 15:22:21 +0800</pubDate><description><![CDATA[1.自我介绍：一名普通的跨专业研一学生

2.学习目标：成为一名c++开发工程师

3.学习路线：c语言—&gt;数据结构与算法—&gt;c++&gt;linux—&gt;数据库....由浅入深，并不断巩固计算机自称原理，操作系统等基本功。

4.每日规划：尽可能的多敲代码，多练习，多总结



今日学习总结~

指针数组 &amp;&amp; 数组指针
...]]></description><category></category></item></channel></rss>