随笔分类 -  C语言

1

C语言笔试题
摘要:4.static有什么用途?(请至少说明两种) 1.限制变量的作用域 2.设置变量的存储域 7.引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 2) 不存在指向空值的引用,但是存在指向空值的指针。 8.描述实时系统的基本特性 在特定时间内完成特定的任务,实时性与可靠性 9.全局变量和局部变量在内存中是否有区别... 阅读全文

posted @ 2009-04-28 17:46 alon 阅读(426) 评论(0) 推荐(0)

内存分页管理的实验报告
摘要:内存分页管理的实验报告作者:huang_2008报告时间:2006-8-22实验时间:3天实验代码:HelloOS所有代码 http://flash.xxsyzx.com/learnos/内存分页管理设想:以HelloOS(实验系统名称)为基础进行内存分页管理实验,386PC在保护模式下寻址最大是4GB,而内存分页一共页可以映射4GB的内存地址,这些映射的地址叫做线性地址,而实际内存上的地址叫做物... 阅读全文

posted @ 2009-04-24 10:15 alon 阅读(1141) 评论(0) 推荐(0)

C/C++语言void及void指针深层探索
摘要:C/C++语言void及void指针深层探索 文章来源:pconline 作者:宋宝华 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,vo... 阅读全文

posted @ 2009-04-24 10:14 alon 阅读(290) 评论(0) 推荐(1)

C函数指针的用法
摘要:函数指针通常用来实现回调,其基本用法如下: 1、定义函数指针类型 // 定义一个原型为int Fun( int a );的函数指针 typedef int (*PTRFUN) ( int aPara ); 2、函数指针变量的定义 PTRFUN pFun; // pFun 为函数指针变量名 int (*pFun2) ( int a ); // pFun2也是函数指针变量名 3、函数指针作为... 阅读全文

posted @ 2009-04-24 10:13 alon 阅读(691) 评论(0) 推荐(0)

为什么不能在构造函数中初始化函数指针数组
摘要:http://bbs2.chinaunix.net/viewthread.php?tid=329174 阅读全文

posted @ 2009-04-24 09:25 alon 阅读(519) 评论(0) 推荐(0)

关于0x1a
摘要:DOS把0x1A用于EOF。 这个是c语言大全后面的解释器little c的原代码部分是装载文本到内存中的部分。下面是这部分的代码, QUOTE: //函数功能:把文本状态的程序装载到内存中//函数名字:load_programint load_program(char *p, char *fname){ //p是指向程序的字符指针 //fp是指向文件 //fname指向文件名 FI... 阅读全文

posted @ 2009-04-24 09:20 alon 阅读(445) 评论(0) 推荐(0)

c++ volatile用法
摘要:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic va... 阅读全文

posted @ 2009-04-17 18:37 alon 阅读(441) 评论(0) 推荐(1)

C++关键字
摘要:(1)auto 这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 (2)register 这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。 (3)static 常见的两种用途: 1>统计函数被调用的次数; 2>... 阅读全文

posted @ 2009-04-17 17:22 alon 阅读(216) 评论(0) 推荐(0)

字符,字节和编码
摘要:[原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/encoding.htm] 级别:中级 摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。 掌握编码问题的关键是正确地... 阅读全文

posted @ 2009-04-17 17:10 alon 阅读(121) 评论(0) 推荐(0)

std::set 用法
摘要:A. typedef std::set DlgSet 能帮我具体讲下这句话都是什么意思? 谢谢~ B. 是指定模板参数。如: #include using namespace std; template class A { private: T a; public: A( T aa ):a(aa){} ~A(){} void print(){ cout a(10); a.print(); A... 阅读全文

posted @ 2009-04-17 16:59 alon 阅读(897) 评论(0) 推荐(0)

从字符串中分离各项
摘要:Q:现在有有一个字符串str=“//192.169.3.3:3306:user:pwd” 怎样用c++实现分离出ip,端口号,用户名,密码,注意端口号可能没有(有默认值),谁有好的办法。谢谢。 A. (1) #include #include using namespace std;int main(){ const string str = "//192.169.3.3:3306:use... 阅读全文

posted @ 2009-04-17 16:49 alon 阅读(375) 评论(0) 推荐(1)

sizeof
摘要:这是初学者问得最多的一个问题,所以这里有必要多费点笔墨。让我们先看一个结构体: struct S1 { char c; int i; }; 问sizeof(s1)等于多少聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设置得到的结果为8。 Why为什么受伤的总是我 ... 阅读全文

posted @ 2009-04-16 23:37 alon 阅读(174) 评论(0) 推荐(1)

类的静态数据成员
摘要:类的静态数据成员和普通的静态变量含义不同,它的意思是:在每一个类实例化时并不分配存储空间,而是该类的每个对象共享一个存储空间,并且该类的所有对象都可以直接访问该存储空间。其实它就是一个专门供这个类的对象使用的变量----如果你把它声明为private权限的话。 在类中定义静态数据成员,只须在定义时在前面加上"static"。类的静态数据成员只能在类外进行初始化,若没有对其进行初始化,则自动... 阅读全文

posted @ 2009-04-08 15:22 alon 阅读(562) 评论(1) 推荐(1)

操作符优先
摘要:下面按优先级高到低列出了C++中的操作符:1. ()(小括号) [](数组下标) .(类的成员) ->(指向的类的成员)2. !(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址)3. *(指针所指内容) sizeof(长度计算)4. *(乘) /(除) %(取模)5. +(加) -(减)6. > (位右移)7.... 阅读全文

posted @ 2009-04-08 15:21 alon 阅读(136) 评论(0) 推荐(0)

三个const的用途各为什么
摘要:Q.三个const的用途各为什么?const char& String::operator[] (const int index) const A. 第一个const,返回的是一个指向字符常量的引用。 第二个const,index变量的值,不能被该变,因为是const int 变量相当于常量。 第三个const,说明该函数不能对类里的成员变量做... 阅读全文

posted @ 2009-03-30 21:44 alon 阅读(554) 评论(1) 推荐(1)

C/C++位操作简介(转)
摘要:前言 我注意到有些人对位运算感到困惑,所以我决定写这篇简单的教程来说明位运算如何操作。 位简介 位,它是什么?你可能会问。 简单来说,位就是1和0,在电脑中做的每一件事都是由它们组成的。电脑中所有的数据使用的是位。一个字节由8个位组成;一个字由两个字节组成,即16个位;而一个双字由四个字节组成,即32个位。 0 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 ... 阅读全文

posted @ 2009-03-30 21:37 alon 阅读(819) 评论(0) 推荐(1)

不借助其它变量交换两变量值的三种算法
摘要:在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是:定义一个新的变量,借助它完成交换。代码如下: int a,b,t; a=10; b=15; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应... 阅读全文

posted @ 2009-03-30 21:36 alon 阅读(748) 评论(0) 推荐(1)

c++基础
摘要:1.构造函数初始化Animal::Animal():aget(1),maxLevel(30){}2.除非友元,否则不允许用户访问类中的私有数据成员。 friend void fun(Animal& a); void fun(Animal& a) { cout>word) { if(word.size() vectorpell_seq(seq_size) // pel... 阅读全文

posted @ 2009-03-30 16:25 alon 阅读(191) 评论(0) 推荐(1)

c++编译总结
摘要:1.错误 1fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory c:\documents and settings\administrator\my documents\visual studio 2005\projects\as\as\stack.h 1 将 #include... 阅读全文

posted @ 2009-03-30 15:23 alon 阅读(140) 评论(0) 推荐(0)

指针
摘要:1. 指针变量的引用: int a, int *point_1; point_1 = &a; ------------------- (1). &*point_1 & 和 * 优先级相同,按右向左方向结合,因此先进行*point_t 的运算, 他就是变量a,再执行&运算 因此, &*pointer_1 与 &a相同,即变量a的地址. (2). *&a 先进行&... 阅读全文

posted @ 2009-03-30 14:15 alon 阅读(225) 评论(0) 推荐(0)

1

导航