C语言
文章平均质量分 77
hsynbnb
这个作者很懒,什么都没留下…
展开
-
由浅入深带你剖析数据的在内存中的存储(1)
浅谈c本身具有的类型:整型:charshortintlonglong long浮点型:floatdoubl虽然 int 和 float都是4byte,但是视角不一样一个认为整型另一个认为浮点型。int main(){signed short int a=0;unsigned short b=0;char c;//有符号?还是无符号?//取决于编译器,大部分的编译器下char就是signed char,其他数据类型也是同样的道理}原创 2021-09-18 00:04:08 · 167 阅读 · 0 评论 -
又菜又爱玩的函数栈帧的创建与销毁
寄存器 寄存器 eax;ebx;ecx;edx 特别的 esp;ebp esp,ebp这两个寄存器是用来存放地址,来维护函数开辟的栈帧 函数每一次的调用都会在栈区开辟新的空间 调用逻辑整体调用的逻辑这里以一个简单程序为例子#include<stdio.h>int Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){原创 2021-09-11 06:48:24 · 614 阅读 · 0 评论 -
数据结构之排序算法及升级
选择排序1.选择排序思路第一组选择排序:当看见一个数组,使用排序的思路其实就是找到数组中的最小值,然后将其与数组第一个元素进行交换,其目的是将最小值放在最前面。我们称这一个过程为一组排序如图:第二组选择排序:将第一个元素排除形成一个新的数组再一次找到新数组的最小值 ,然后将最小值和新数组第一个元素进行交换同样的第三组选择排序也是同样的原理进行一组选择排序剔除一个数形成一个新的数组。图中例子的数组一共有十个元素那么需要进行多少组选择排序?答案是9次.原创 2021-09-06 15:04:03 · 152 阅读 · 0 评论 -
C陷阱与与缺陷(1)
例子分析int main(){ int i = 0; int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; for (i = 0; i <= 12; i++) { arr[i] = 0; printf("hehe\n"); } return 0;}代码很容易看出出现了越界,运行的结果也是死循环。出现这种情况我们就需要进行调试分析当循环到arr[9]也就是i=10最后一个元素的时候.因为数组再内存中连续的空间所有虽然数组访问越...原创 2021-09-05 18:15:45 · 79 阅读 · 0 评论 -
从零开始的扫雷游戏
文件的创建test.c :用于程序的测试game.c:游戏函数的封装game.h:头文件的声明1.1main函数逻辑首先得有菜单提供选项,输入有效数字后会出现三种情况情况1:进行游戏同时也会产生 情况1-1:游戏结束后还想再玩一遍的情况。情况2:退出游戏。情况3:输入选项有错,重新输入。有了这些分析可以判断出这个游戏是个循环语句,首先的出现菜单,当我选择选项的时候会进入游戏或退出游戏或者重新输入。这里抛出问题应该用什么循环语句,用什么判断语句呢?当程序运行时候应该先打原创 2021-08-23 16:47:24 · 239 阅读 · 0 评论 -
从零开始的三子棋
1.菜单界面我们要建立test.c文件,game.c文件,game.h文件。test文件用检测程序game.c用来封装游戏的函数,头文件用来申明。我们在设计游戏的界面的逻辑肯定是要有1.选择界面有进行游戏选项,有退出游戏的选项 2.这个游戏我们可以循环的玩。有了以上的想法我们变需要个菜单用来选择,也要进行循环那这里用do while循环的效果会好一点因为相比其他循环 do while可以先讲菜单答应出在进行下一步的循环判断。这里我给出游戏菜单的代码void meun(){ printf原创 2021-08-09 19:26:15 · 109 阅读 · 0 评论 -
初识c语言(重置)
1.什么是c语言?1.c语言是计算机语言(人和计算机交流的语言),如同中国人和外国人交流会使用英语一样。2.计算机语言又有哪些?(相当于语言的种类如:日语 ,英语,德语等)这里有C/C++ JAVA Python等都是计算机语言3.计算机语言的发展: 早期计算机语言是二进制语言 ,因为机器是要通电的通电只有正电和负电的区别,故计算机中正电用1表达 负电用零表达原因其实就是计算机只能处理电信号而电信号只有两种状态所以用了二进制。因此早期的代码都是由一串0和1组成的序列表...原创 2021-07-15 16:34:07 · 675 阅读 · 0 评论