![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
南方铁匠
在深度学习和体系结构熔炉的铁匠
展开
-
C语言 基础知识1
一个C程序的生成要经历以下步骤: 1.编写文本代码,生成C或Cpp文件,这时候它还是文本的; 2.编译,就是Compile,由C编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通过。如若无错,则生成中间代码,扩展名为Obj,此时它便是二进制的了; 3.连接,在汇编里称Link,在C里叫生成,即Build,它的作用是生成可执行的Exe文件。由于一个程序的原创 2016-03-19 17:32:52 · 322 阅读 · 0 评论 -
Shell 排序
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很转载 2016-03-19 19:12:42 · 403 阅读 · 0 评论 -
汇编 压栈出栈
一PS:EBP是当前函数的存取指针,即存储或者读取数时的指针基地址;ESP就是当前函数的栈顶指针。每一次发生函数的调用(主函数调用子函数)时,在被调用函数初始时,都会把当前函数(主函数)的EBP压栈,以便从子函数返回到主函数时可以获取EBP。下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码假设执行函数前堆栈指针ESP为0xAAAA转载 2016-03-20 20:54:47 · 9012 阅读 · 2 评论 -
eax, ebx, ecx, edx, esi, edi, ebp, esp
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编说话中CPU上的通用存放器的名称,是32位的存放器。若是用C说话来申明,可以把这些存放器算作变量对待。比方说:add eax,-2 ;?? //可以认为是给变量eax加上-2如许的一个值。这些32位存放器有多种用处,但每一个都有“特长”,有各自的希罕之处。EAX 是"累加器"(ac转载 2016-03-20 21:02:52 · 1080 阅读 · 0 评论 -
函数指针
函数指针int (*f) (*int)要从里(*f开始)往外读。因此,我们看到“(*f)”表明,f是一个指针;而“(*f) (int*)” 表明f是一个指向函数的指针,这个函数以(int*)作为参数。最后我们知道,它是指向以int*为参数并且返回int的函数指针。其他函数指针的例子:int fun(int x, int *p);(int) (*fp) (int, int原创 2016-10-17 20:55:22 · 226 阅读 · 0 评论 -
函数指针
一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){ MyFun(10); //这里是调用MyFun(10);函数 return转载 2016-11-08 20:44:06 · 191 阅读 · 0 评论 -
C++返回引用
转自:http://blog.csdn.net/keyouan2008/article/details/5741917一,c++函数的返回分为以下几种情况 1)主函数main的返回值:这里提及一点,返回0表示程序运行成功。2)返回非引用类型:函数的返回值用于初始化在跳用函数出创建的临时对象。用函数返回值初始化临时对象与用实参初始化形参的方法是一样 的。如果返回类型不是引用,在调用函转载 2016-11-14 22:07:13 · 272 阅读 · 0 评论