
c 编程
hello_ljfbest
左手程序,右手写诗……
展开
-
c 语言执行过程
c语言运行过程流程图A.编译预处理 C程序在编译之前执行的操作,如宏定义指令(#define),条件编译指令(#ifdef,#ifndef),头文件包含指令(#include)等 。预处理,基本上完成的就是“拷贝”工作,生成一个没有上述指令的输出文件。B.编译阶段 编译程序读取预处理后的文件(字符流),翻译成计算机可以识别的二进制形式的目标代码文件,由C的编译器完成。每个源文件原创 2013-09-13 13:39:04 · 961 阅读 · 0 评论 -
C语言 内存分配情况
A. 栈:由系统自动分配,执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。B. 堆:需要程序员自己申请,并指明大小。用来存放由动态分配函数(如malloc)分配的空间,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。 C.原创 2013-09-24 15:48:28 · 992 阅读 · 0 评论 -
链表题目
题一、 给定单链表,检测是否有环。 使用两个指针p1,p2从链表头开始遍历,p1每次前进一步,p2每次前进两步。如果p2到达链表尾部,说明无环,否则p1、p2必然会在某个时刻相遇(p1==p2),从而检测到链表中有环。题二、 给定两个单链表(head1, head2),检测两个链表是否有交点,如果有返回第一个交点。如果head1==head2,那么显然相交,直接返回head转载 2013-09-13 13:31:21 · 1044 阅读 · 0 评论 -
c语言 static与extern
内部函数和外部函数 函数一旦定义后就可被其它函数调用。 但当一个源程序由多个源文件组成时,在一个源文件中定义的函数能否被其它源文件中的函数调用呢?为此,C语言又把函数分为两类: 一、内部函数 如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用,这种函数称为内部函数。定义内部函数的一般形式是:static 类型说明符 函数名(形参表)原创 2013-11-15 17:08:14 · 1753 阅读 · 0 评论 -
预处理指令
转自 http://www.cnblogs.com/mjios/预处理指令简介C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译.C语言提供的预处理指令主要有:宏定义、文件包含、条件编译宏定义宏名的有效范围是从定义位置到文件结束。如果需要终止宏定义的作用转载 2013-11-18 10:25:12 · 1292 阅读 · 0 评论