- 博客(10)
- 收藏
- 关注
原创 栈与队列的实现
目录栈初始化销毁入栈出栈获取栈顶元素判断栈是否为空栈的大小队列初始化销毁入队列出队列取队头取队尾判空队列长度栈1.初始化//初始化void StackInit(ST*ps){ ps->a = NULL; ps->capacity = 0; ps->top = 0;}2.销毁void StackDestroy(ST*ps){ free(ps->a); ps->a = NU
2022-05-30 20:42:31 188
原创 动态内存分配
为什么存在动态内存分配?我们已有的开辟内存空间的方式:在栈上开辟空间例如:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:1. 空间开辟大小是固定的。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。这时候
2022-04-11 16:03:25 148
原创 浅谈:结构体内存对齐
现在深入讨论一个问题我们:计算结构体的大小。分析如下代码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. 其他成员变量要对齐到某个数字(
2022-03-26 14:27:55 153
原创 c指针进阶(上)
目录一.字符指针二.指针数组三.数组指针四.数组参数,指针参数五.函数指针六.函数指针数组一.字符指针与整型指针类似,创建一个字符变量,取出地址,并存放到一个字符指针变量中,通过解引用操作可以修改字符值//int main()//{// char ch = 'w';// char*pc = &ch;// *pc = 'a';// printf("%c", ch);////}注意:char*p="abcdef";该代码并非是将整个字符串..
2022-03-15 15:30:09 1392
原创 数据在内存中的存储
目录: 1.数据类型介绍 1.1.类型的基本归类 2.整型在内存中的存储 2.1.原码,反码,补码 2.2.大小端介绍 3.浮点型在内存中的存储 3.1.浮点数存储规则 3.2实例分析1.数据类型介绍1.1.类型的基本归类整型家族char unsigned char signed cha...
2022-03-02 14:45:03 158 1
原创 三子棋—c语言实现
目录 一、功能描述 二、流程分析 三、具体步骤 1、菜单 2、初始化棋盘 四、代码实现 五、演示过程一、功能描述用c语言实现三子棋游戏。二、流程分析1.创建游戏菜单栏,选择开始或者退出2.用数组存放下棋的数据,初始换棋盘并且打印棋盘3.三、具体步骤1.创建菜单选择1开始游戏,选择0退出游戏void menu()...
2022-02-14 10:53:18 2734
原创 递归—青蛙跳台阶问题
目录题意说明(前言)一、思路二、代码三、拓展总结前言:一只青蛙可以一次跳 1 级台阶或一次跳 2 级台阶,例如:跳上第一级台阶只有一种跳法:直接跳 1 级即可。跳上两级台阶,有两种跳法: 每次跳 1 级,跳两次; 或者一次跳 2 级.问要跳上第 n 级台阶有多少种跳法?一、思路:递归通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量;根据递
2022-02-11 14:33:13 2765
原创 第一篇博客
1.自我介绍:一名普通的跨专业研一学生2.学习目标:成为一名c++开发工程师3.学习路线:c语言—>数据结构与算法—>c++>linux—>数据库....由浅入深,并不断巩固计算机自称原理,操作系统等基本功。4.每日规划:尽可能的多敲代码,多练习,多总结今日学习总结~指针数组 && 数组指针...
2021-12-11 15:22:21 1020 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人