
C/C++
tonywgx
这个作者很懒,什么都没留下…
展开
-
内存中堆(heap)和栈(stack)的区别(非数据结构中的堆和栈)
在进行C/C++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,转载 2011-10-31 13:52:44 · 1414 阅读 · 0 评论 -
C语言常用排序全解
/* ============================================================================= 相关知识介绍(所有定义只为帮助读者理解相关概念,并非严格定义): 1、稳定排序和非稳定排序 简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就 说这种排序方法是稳定的。反之,就是非稳定的转载 2011-10-31 13:56:59 · 896 阅读 · 0 评论 -
进程 线程 程序的区别与联系
进程和程序区别和联系表现在以下方面: 1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。 进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。 2)进程和程序并不是一一对应的,一个程序执行在不同的转载 2011-10-31 13:53:47 · 4663 阅读 · 0 评论 -
关于面向对象与面向过程(面向结构)的区分
面向对象和结构化方法的比较 最近又有客户问起结构化方法(即结构化分析SA Structured Analysis 和结构化设计SD Structured Design)和面向对象分析设计(OOAD Object-Oriented Analysis & Design)方法的区别,这是一个很多人谈了很多遍的问题,Google一下就可以找到很多以此为标题的文章。OO技术发展了很多年了,现在大家都转载 2011-10-31 13:54:57 · 6624 阅读 · 1 评论 -
C语言编译全过程剖析
内容摘要 C语言编译的整个过程是非常复杂的,里面涉及到的编译器知识、硬件知识、工具链知识都是非常多的,深入了解整个编译过程对工程师理解应用程序的编写是有很大帮助的,希望大家可以多了解一些,在遇到问题时多思考、多实践。 一般情况下,我们只需要知道分成编译和连接两个阶段,编译阶段将源程序(*.c)转换成为目标代码(,一般是obj文件,至于具体过程就是上面说的那些阶段),连接阶段是把源程序转换成的目标代转载 2011-10-31 13:57:41 · 884 阅读 · 0 评论 -
C语言文件复制
不应对非文本文件使用fgetc等易受干扰的函数,建议用fread,fwrite读写二进制文件转载 2014-09-26 12:00:28 · 1200 阅读 · 0 评论