自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 函数栈帧与可变参数列表

一:函数栈帧关于函数栈帧,我们首先需要认识下有关的寄存器:eax:通用寄存器,保留临时数据,常用于返回值ebx:通用寄存器,保留临时数据ebp:栈底寄存器esp:栈顶寄存器eip:指令寄存器,保存当前指令的下一条指令的地址之后我们需要了解一下汇编命令mov:数据转移指令(格式为move 目的,源)push:数据入栈,同时esp栈顶寄存器也要发生改变(压栈)pop:数据弹出至指定位置,同时esp栈顶寄存器也要发生改变(弹栈)sub:减法命令add:加法命.

2021-11-18 15:01:33 325

原创 小车问题求解

有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向)。小车会受到一系列依照时间戳记排序的命令,1表示“向左转”,2表示“向右转”,3表“停止”。每个命令的前面有一个时间戳记,所以我们知道该命令是何时发出的。最后一个命令一定是“停止”。我们另外假设,这辆小车非常灵活,它可以在瞬间转弯。以下列输入为例。小车在时间为5的时候收到一个“向左转”的命令1,在时间10收到一个“向右转”的命令2,在时间15收到一个“停止”的命.

2021-10-30 13:00:57 209 2

原创 指针奇葩笔试题(提升对指针的理解)

#include<stdio.h>int main(){ int a[4] = { 1, 2, 3, 4 }; int* ptr1 = (int*)(&a + 1); int* ptr2 = (int*)((int)a + 1); printf("%x,%x", ptr1[-1], *ptr2); return 0;}需要强调的是ptr2,a强制类型转换为int型再+1,再转化为int*类型,是指真正的在地址上+1,众所周知int类型大.

2021-10-17 14:51:59 112

原创 sizeof和二维数组的关系

#include<stdio.h>int main(){ int a[3][4] = { 0 }; printf("%d\n", sizeof(a));//48 sizeof传入的是二维数组的数组名,得到的值是整个数组的大小 printf("%d\n", sizeof(a[0][0]));//4 printf("%d\n", sizeof(a[0]));//16 a[0]可以认为是第一行的数组名,sizeof数组名得到的是第一行的大小 printf("%d\n", sizeo.

2021-10-11 18:28:20 229

原创 整形数据存储与浮点型数据存储

char 类型与unsigned int ,int类型在内存中存储的关系理解我们可以知道如果一个整数存入变量中,先以整形大小的二进制补码出现,之后按照类型大小截取相应的大小,如果要打印%d,%u这种整形类型的数据的话,%d要转化为原码的大小,%u则以无符号的打印总结:定义使的变量的类型是很重要的,决定了变量之后在内存中的视角浮点型数据在内存中存储先看例子这个例子可以说明浮点数的数据存储和整形家族的数据存储不一样如何存储呢根据规定:(-1)^S * M *...

2021-10-10 22:11:09 156

原创 移位操作符以及位运算操作符

首先:移位操作符和运算操作符均是可以理解为整数储存在内存的二进制形式使用该两种操作符会使该数二进制的大小发生改变,也就是数值的改变而运算操作符往往具有特定的使用技巧1.移位操作符<<左移操作符>>右移操作符(移位操作符操作的对象只能是整数)<<左移操作符移位规则:左边抛弃,右边补0但事实是如果a没有被赋值,a的值不会被改变>>右移操作符警告⚠ : 对于移位运算符,不要移动负数位,这...

2021-10-09 15:19:37 371

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除