自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 栈帧---函数调用原理

下面我通过一个简单的实例来分析函数调用原理------栈帧首先应该明白,栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址)寄存器esp指向当前的栈帧的顶部(地址地)函数调用过程如下:(1)先将调用者main()函数的堆栈的基址(ebp)入栈,以保存之前任务的信息。(2)然后将调用者main()函数的栈顶指针(esp)的值赋给ebp,作为新的基址(即被调用者函数fun()的栈底)。(3)然后在这个

2016-12-23 23:27:16 6025

转载 strcpy和memcpy的区别

strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, constchar* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。

2016-12-11 15:53:32 267

原创 宏和函数有什么区别?

()#define)宏可以频繁的用于执行简单的计算。但一般是宏的代码很短,才使用宏,否则使用宏会使程序长度大幅度提升。函数可以写一些复杂的的计算。比如下面这个比较大小的两个数字的大小#include#include#define MAX(a,b) ((a)>(b)?(a):(b))int main(){ printf("%d\n", MAX(3,5)); system(

2016-12-04 16:52:54 981

空空如也

空空如也

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

TA关注的人

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