面试
文章平均质量分 78
yc550370460
这个作者很懒,什么都没留下…
展开
-
static作用
参考:http://www.cnblogs.com/Kane_zzt/archive/2009/05/18/1459697.html 《C语言深度剖析》前提知识 1.全局变量、静态全局变量、静态局部变量和局部变量的区别 变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。 按存储区域分,全局变量、静态全原创 2013-10-15 11:09:09 · 1007 阅读 · 0 评论 -
小知识汇总
参考《C语言终极面试宝典》 《C深度》描述内存分配方式以及它们的区别?答:1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。3) 从堆上原创 2013-10-16 15:43:02 · 814 阅读 · 0 评论 -
C语言中数据类型转换
转自:http://blog.csdn.net/zhuimengzh/article/details/67284921、隐式转换 C在以下四种情况下会进行隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参转载 2013-10-17 15:09:55 · 974 阅读 · 0 评论 -
typedef
参考《C深度剖析》 typedef基本用法 typedef struct student { //code }Stu_st,*Stu_pst;//命名规则请参考本章前面部分 A),struct student stu1;和Stu_st stu1;没有区别。 B),struct student *stu2;和Stu_pst stu2;和Stu_st *stu2;原创 2013-10-17 14:17:44 · 1120 阅读 · 0 评论 -
函数指针
A),char * (*fun1)(char * p1,char * p2); B),char * *fun2(char * p1,char * p2); C),char * fun3(char * p1,char * p2); C):这很容易,fun3是函数名,p1,p2是参数,其类型为char *型,函数的返回值为char *类型。 B):也很简单,与C原创 2013-10-17 13:16:50 · 739 阅读 · 0 评论 -
二叉树 遍历
参考:http://itcome.blog.51cto.com/1541534/1015034二叉树、满二叉树、完全二叉树前序遍历:根节点->左孩子->右孩子中序遍历:左孩子->根节点->右孩子后序遍历:左孩子->右孩子->根节点命名是根据访问根节点的顺序而定的。一:笔试题描述 1:有一颗二叉树:前序遍历输出的字符串顺序为:ABCD转载 2013-10-15 14:14:06 · 883 阅读 · 0 评论 -
extern作用
参考《C语言深度剖析》 extern,外面的、外来的意思。那它有什么作用呢?举个例子:假设你在大街上看到一个黑皮肤绿眼睛红头发的美女(外星人?)或者帅哥。你的第一反应就是这人不是产的。 extern就相当于他们的这些区别于中国人的特性。extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,下面的代码用到的这些变量或函数是外来的,不是本文件定义的,提示编译器遇转载 2013-10-15 11:20:57 · 1162 阅读 · 0 评论 -
联合体
结构与联合有和区别?答:(1). 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。 (2). 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的联合体在对允许位操作的寄存器进行访问时很有优势。原创 2013-10-15 17:25:28 · 825 阅读 · 0 评论 -
栈、堆和静态区、内存、flash、RAM的概念
对于程序员,一般来说,我们可以简单的理解为内存分为三个部分:静态区,栈,堆。很多书没有把把堆和栈解释清楚,导致初学者总是分不清楚。其实堆栈就是栈,而不是堆。堆的英文是heap;栈的英文是stack,也翻译为堆栈。堆和栈都有自己的特性,这里先不做讨论。再打个比方:一层教学楼,可能有外语教室,允许外语系学生和老师进入;还可能有数学教师,允许数学系学生和老师进入;还可能有校长办公室,允许校长进入原创 2013-10-15 13:36:12 · 12589 阅读 · 0 评论 -
#ifndef#define#endif
参考:http://blog.csdn.net/q191201771/article/details/6399820这里首先说明下几点基础知识, 相信大部分人对于以下几点大部分都已经知道了, 你也可以直接跳到最后部分看#ifndef#define#endif的真正作用 1.预编译阶段把所有#include ”***.h“ (“”与替换了, 所以之后就没有.h了所有.h的内容都已经转载 2013-10-15 11:30:34 · 1004 阅读 · 0 评论 -
volatile
1.12,最易变的关键字----volatile volatile是易变的、不稳定的意思。 很多人根本就没见过这个关键字,不知道它的存在。也有很多程序员知道它的存在,但从来没用过它。我对它有种“杨家有女初长成,养在深闺人未识” 的感觉。 volatile关键字和const一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或转载 2013-10-15 15:47:02 · 726 阅读 · 0 评论 -
CONST用法
参考《C语言深度剖析》1.11.1,const 修饰的只读变量 定义const只读变量,具有不可变性。 例如: const int Max=100; intArray[Max]; 这里请在Visual C++6.0里分别创建.c文件和.cpp文件测试一下。你会发现在.c文件中,编译器会提示出错,而在.cpp文件中则顺利运行。为什么呢?我们知道定转载 2013-10-15 15:37:32 · 836 阅读 · 0 评论 -
#i nclude<file.h> 与 #i nclude "file.h"的区别?
参考:http://www.cnblogs.com/aijianiula/archive/2012/04/23/2466116.html http://blog.csdn.net/godenlove007/article/details/7531521#include:引用标准库头文件,编译器从标准库目录开始搜索(包括编译器设置的路径)#include“”格式:转载 2013-10-15 11:45:14 · 2435 阅读 · 0 评论 -
指针 数组
指针规律:凡是在指针定义处赋值的操作,都是针对指针变量本身的,而不是针对指针所指向的地址的内容的,比如:int *p = NULL 和*p = NULL 有什么区别? 很多初学者都无法分清这两者之间的区别。我们先看下面的代码: int *p = NULL; 这时候我们可以通过编译器查看p的值为0x00000000。这句代码的意思是:定义一个指针变量p,其指向的原创 2013-10-16 17:48:53 · 938 阅读 · 0 评论