- 博客(4)
- 收藏
- 关注
原创 由浅入深带你剖析数据的在内存中的存储(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
178
原创 又菜又爱玩的函数栈帧的创建与销毁
寄存器 寄存器 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
631
原创 数据结构之排序算法及升级
选择排序1.选择排序思路第一组选择排序:当看见一个数组,使用排序的思路其实就是找到数组中的最小值,然后将其与数组第一个元素进行交换,其目的是将最小值放在最前面。我们称这一个过程为一组排序如图:第二组选择排序:将第一个元素排除形成一个新的数组再一次找到新数组的最小值 ,然后将最小值和新数组第一个元素进行交换同样的第三组选择排序也是同样的原理进行一组选择排序剔除一个数形成一个新的数组。图中例子的数组一共有十个元素那么需要进行多少组选择排序?答案是9次.
2021-09-06 15:04:03
166
原创 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
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人