1、隐式转换 C在以下四种情况下会进行隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。 4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。2、算数运算的隐式转换 算数运算中,首先有如下类型转换规则: 1、字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用) 。 2、short型转换为int型(同属于整型) 。 3、float型数据在运算时一律转换为双精度(dou... Read More
posted @ 2012-09-21 16:28 星语海蓝 Views(4552) Comments(0) Diggs(0) Edit
今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下:?///// Vec.h #ifndef GUARD_VEC_H #define GUARD_VEC_H #include #include #include //#include template class Vec { public: typedef T* iterator; typedef const T* const_iterator; typedef size_t size_type; typedef T value_type; typedef T& referenc. Read More
posted @ 2012-09-21 11:01 星语海蓝 Views(322) Comments(0) Diggs(0) Edit
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取 Read More
posted @ 2012-09-15 10:50 星语海蓝 Views(359) Comments(0) Diggs(0) Edit
网友1:今天在编写《编程之美》上的代码,遇到了如下的问题: void function(int &array[5]) { //………… } void main() { int arr[5]={1,2,3,4,5}; function(arr); } 为什么不正确呢??求真相~~ 非常感谢网友2:void function(int &array[5])形参的... Read More
posted @ 2012-08-24 15:58 星语海蓝 Views(243) Comments(0) Diggs(0) Edit
这里面的三个函数openlog, syslog, closelog是一套系统日志写入接口。另外那个vsyslog和syslog功能一样,只是参数格式不同。原理:通常,syslog守护进程读取三种格式的记录消息。此守护进程在启动时读一个配置文件。一般来说,其文件名为/etc/syslog.conf(注释:ifyou want to redirectlogto other place,you need to change this),该文件决定了不同种类的消息应送向何处。例如,紧急消息可被送向系统管理员(若已登录),并在控制台上显示,而警告消息则可记录到一个文件中。该机制提供了syslog函数,其 Read More
posted @ 2012-08-19 00:12 星语海蓝 Views(598) Comments(0) Diggs(0) Edit
当您经常使用某个系统时,往往会陷入某种固定的使用模式。有时,您没有养成以尽可能最好的方式做事的习惯。有时,您的不良习惯甚至会导致出现混乱。纠正此类缺点的最佳方法之一,就是有意识地采用抵制这些坏习惯的好习惯。本文提出了 10 个值得采用的 UNIX 命令行习惯——帮助您克服许多常见使用怪癖,并在该过程中提高命令行工作效率的好习惯。下面列出了这 10 个好习惯,之后对进行了更详细的描述。采用 10 个好习惯要采用的十个好习惯为: 在单个命令中创建目录树。更改路径;不要移动存档。将命令与控制操作符组合使用。谨慎引用变量。使用转义序列来管理较长的输入。在列表中对命令分组。在 find 之外使用 xar Read More
posted @ 2012-08-18 23:58 星语海蓝 Views(181) Comments(0) Diggs(0) Edit
Linux下建议的命名规则如下。(1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。(2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。(3)在失去意义的情况下,尽量使用较短的变量名。例如有一个变量,用于暂时存储一个计数值,把变量命名 Read More
posted @ 2012-08-18 23:55 星语海蓝 Views(501) Comments(0) Diggs(0) Edit
前两天在网上看到许多帖子以及一些unix书籍,认为一次fork后产生守护进程足够了,各有道理吧,不过多了一次fork到底是出于什么目的呢?进程也就是task,看看内核里维护进程的数据结构task_struct,这里有两个成员:view plainstructtask_struct{volatilelongstate;intexit_state;...}看看include/linux/sched.h里的value取值:view plain#defineTASK_RUNNING0#defineTASK_INTERRUPTIBLE1#defineTASK_UNINTERRUPTIBLE2#defin Read More
posted @ 2012-08-18 23:51 星语海蓝 Views(316) Comments(0) Diggs(0) Edit
信号量及信号量上的操作是E.W.Dijkstra 在1965年提出的一种解决同步、互斥问题的较通用的方法,并在很多操作系统中得以实现, Linux改进并实现了这种机制。信号量(semaphore )实际是一个整数,它的值由多个进程进行测试(test)和设置(set)。就每个进程所关心的测试和设置操作而言,这两个操作是不可中断的,或称“原子”操作,即一旦开始直到两个操作全部完成。测试和设置操作的结果是:信号量的当前值和设置值相加,其和或者是正或者为负。根据测试和设置操作的结果,一个进程可能必须睡眠,直到有另一个进程改变信号量的值。信号量可用来实现所谓的“临界区”的互斥使用,临界区指同一时刻只能有 Read More
posted @ 2012-08-12 16:26 星语海蓝 Views(226) Comments(0) Diggs(0) Edit
Linux网络编程入门 (转载) (一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一 个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获取文件), 所以这个地方我们的ftp程序就是客户端程序。 服务端 和客户端相对应的程序即为服务端程序。被动的等待外面的程序来和自己通讯的程序称为服务端程序。 比如上面的文件获取中,另外一个地方的程序.. Read More
posted @ 2012-08-11 18:48 星语海蓝 Views(224) Comments(0) Diggs(0) Edit