
C Study
文章平均质量分 92
Borenbao
这个作者很懒,什么都没留下…
展开
-
C语言中的typedef问题.
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。2. type原创 2005-12-13 10:48:00 · 6049 阅读 · 2 评论 -
fopen()函数
1.2 文件的输入输出函数 键盘、显示器、打印机、磁盘驱动器等逻辑设备, 其输入输出都可以通过文件管理的方法来完成。而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 详细介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操作函数也适合于非磁盘文件的情况。 另外, Turbo C2.0提供了两类关于文件的函数。一类称做标准文件函数也称缓冲型文件函数转载 2006-06-29 10:45:00 · 124527 阅读 · 2 评论 -
C指针新悟!
指向指针的指针的指针变量 **p,和指针变量之间的赋值.//例1。 1 ints(char **a) 2 { 3 char *b; 4 b = (char *)malloc(sizeof(char)); 5 *b = a; 6 *a = b; 7 //a = &b; 8原创 2006-06-29 10:04:00 · 2607 阅读 · 2 评论 -
C/C++ 语言中结构体的内存分配
当结构体中最长宽度的数据成员的宽度小于机器字长时,按该成员宽度对齐;当最长宽度的数据成员的宽度大于或等于机器字长时,按机器字长对齐。举例如下:(机器字长为 32 位) struct { char a; }test; printf("%d/n", sizeof test);打印出来的结果为 1; struct原创 2006-06-29 11:01:00 · 2640 阅读 · 1 评论 -
C/C++去空格的函数
经过测试不会疏漏任何一种空白字符,准确可靠----------------------------------------C---------------------------------------#include #include #include char * trim(char * ptr){ int start,end,i;转载 2006-06-29 11:04:00 · 6332 阅读 · 0 评论 -
我也来学做嵌入式Linux系统V0.1(完整版)
呵呵,终于搞完了,把它发到一个贴子中来,做了一些修改……其中还有一些错误,希望大家指正,偶好修改!!! —————————————————————————————————— 《我也来学做嵌入式Linux系统V0.1》 作者:九贱 E-mail:kendo999@sohu.com 个人站点:www.skynet.org.cn _____________________________________转载 2006-11-15 17:26:00 · 1708 阅读 · 0 评论 -
KMP算法
#include struct SeqString { int MAXNUM; int n; char *c;};typedef struct SeqString * PSeqString;PSeqString createNullStr_seq(int m){ PSeqString p原创 2006-08-23 10:07:00 · 1134 阅读 · 0 评论 -
sizeof() 小测验
#include #define print_sizeof(x) printf("sizeof(%s)/t= %d/n", #x, (int)sizeof(x))int main(){ print_sizeof("0123456789" + 0); print_sizeof("0123456789"); print_sizeof(void);转载 2006-08-24 12:42:00 · 1790 阅读 · 2 评论 -
C和C++里面的lvalue 和 rvalue的释义
在看GCC的文档的时候,看到一个词lvalue,查了金山词霸其释义为 lvalue [计] 左值。因为的确在介绍编译原理的课程中听过这个词,大致知道其意思就没有多想。但是看完GCC文档的这个篇幅,都无法明白全篇在说什么。问题还是出在了lvalue这个词的“左值”是什么意思的理解上了。再找M-W字典,却告知没有这个词。于是google了一把,的确很多地方都称其为左值,我仍然不得要领。最后在一个百科网转载 2006-08-25 14:13:00 · 2207 阅读 · 0 评论 -
用fcntl设定socket为非阻塞
第一部分-------------------------------------------------------------------------------------------------------------------How would I put my socket in non-blocking mode? From Andrew Gierth (andrew@erle转载 2007-03-06 10:46:00 · 6048 阅读 · 0 评论 -
Select系统调用及文件描述符集fd_set的应用
在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。 select()的调用形式为: #include #include int select(int maxfd, fd_set *readfds, fd_set *writefds,转载 2007-03-09 09:54:00 · 1757 阅读 · 0 评论 -
C语言实现MD5算法!
1)global.h 头文件 #ifndef PROTOTYPES #define PROTOTYPES 0 #endif /* POINTER defines a generic pointer type */ typedef unsigned char *POINTER; /* UINT4 defines a four byte word */ typedef unsigned转载 2007-03-07 11:25:00 · 7287 阅读 · 0 评论 -
C/C++ 误区一:void main()
很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* ... */ } is not and never has been C++, nor has转载 2006-06-29 10:37:00 · 4201 阅读 · 1 评论 -
Select()系统调用及文件描述符集fd_set的应用
Select()系统调用及文件描述符集fd_set的应用在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。select()的调用形式为:#include #include int select(int maxfd, f转载 2006-05-23 17:01:00 · 1355 阅读 · 0 评论 -
struss , strace 和 ltrace
***********************以下是转载的文章********************************************* 本文通过三个实际案例演示如何使用truss、strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症"。简介进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本转载 2006-05-18 15:28:00 · 2175 阅读 · 0 评论 -
C语言中的指针的巩固!
指针的定义 int *p; char *c; 指向一般数据类型时. int i; char t; 有 p=&i; c = &t;指向一维数组时int i[1]; p = &i[0]; char t[10]; c = &t[0]; 或者 p =i; c = t;也可以,而p=&i; c=&t则会报错,类型不匹配.二维数组时 int a[10][10]; p = a[0]; 或原创 2005-12-13 09:46:00 · 1589 阅读 · 0 评论 -
MySQL 数据库函数库
mysql_affected_rows: 得到 MySQL 最后操作影响的列数目。 mysql_close: 关闭 MySQL 服务器连接。 mysql_connect: 打开 MySQL 服务器连接。 mysql_create_db: 建立一个 MySQL 新数据库。 mysql_data_seek: 移动内部返回指针。 mysql_db_query: 送查询字符串 (query) 到 MySQ转载 2006-02-22 14:29:00 · 1250 阅读 · 0 评论 -
qmail-send代码分析
[原创] qmail-send代码分析 http://www.chinaunix.net 作者:Sui_Tang 发表于:2005-07-03 16转载 2006-08-31 12:17:00 · 1710 阅读 · 0 评论 -
程序员眼中的qmail(qmail源代码分析)(qmail-send)
Programmer:夜未眠Date:Apr 28,2003Comefrom: ChongQing Gearbox co.,ltd这份文件还不完善,如果您完善了它请发一份给我: beggar110@163.com这份文件是给想深入了解qmail和想hacker qmail的人读的,如果你只是想建立一个能够运作的mail服务器,没有必要读下去了。它将浪费你很多的时间。如果你对qmail控制文件还不是转载 2006-08-31 12:27:00 · 2833 阅读 · 0 评论 -
liunx编程之const使用详解
一 const基础如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:int b = 500;const int* a = &b; [1]int const *a = &b; [2]int* const a = &b; [3]const int* const a = &b; [4]如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。不知道,也没关系,我们可以参考《转载 2006-09-01 08:58:00 · 1178 阅读 · 0 评论 -
专家教您如何在C语言中巧用正则表达式
如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度,因此现在已经在许多Linux实用工具中得到了应用。千万不要以为正则表达式只是Perl、Python、Bash等脚本语言的专利,作为C语言程序员,用户同样可以在自己的程序中运用正则表达式。标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完转载 2006-08-30 08:46:00 · 1193 阅读 · 0 评论 -
Perlis教授折磨脑子的家庭作业
这是>附录中的一个小节。如下:///////////////////////////////////////////////////////////////////////////////////// 有些研究生学校也使用编程问题来测试它们的新生。在耶鲁大学,Alan Perlis教授(Algol-60)的创始人之一)曾用下面的作业(要求一星期内完成)测试他刚入学的研究生。为下列各个问题编写转载 2006-09-13 11:28:00 · 1574 阅读 · 0 评论 -
a[9]与9[a]的确是相同的,以及函数内部如何得到传入数组参数的大小
a[9]与9[a]的确是相同的,以及函数内部如何得到传入数组参数的大小记得以前就曾为a[9],9[a]问题感到莫名其妙过,今天终于找到标准答案啦,呵呵://////////////////////////////////////////////////////////////////////////>第9.2.1节中有一段说:“转载 2006-09-13 11:31:00 · 1568 阅读 · 0 评论 -
spirntf,你知道多少?
今天看到一篇文章值得收藏,主要是怕以后找不到,自己要看不方便,呵呵原贴在:http://blog.youkuaiyun.com/steedhorse/archive/2005/03/25/330206.aspx spirntf,你知道多少转载 2006-09-13 11:33:00 · 1356 阅读 · 0 评论 -
GNU编码标准
先做个备份,以后应该可以时常拿来参考 GNU编码标准GNU编码标准@author{Richard Stallman} @author{last updated 03 Feb 1993} Copyright (C) 1992, 1993 Free Software Foundation Permission is granted to make an转载 2006-09-13 11:35:00 · 1911 阅读 · 0 评论 -
不按回车就接受一个字符输入!
不按回车就接受一个字符输入! 记得前几天的一篇日志(http://blog.youkuaiyun.com/anyue417/archive/2006/08/14/1064145.aspx)中写到,像下面这样的程序问题:代码如下:#include void main(){ int n转载 2006-09-13 11:37:00 · 6986 阅读 · 1 评论 -
C语言解析CSV文件!
#include #include #include #define N 9typedef struct a{ char *p[N]; int num;}A;A *split_csv(char *str){ char buffer[128]; int bwq = 0; //begin with quote int len原创 2007-07-26 13:44:00 · 7011 阅读 · 0 评论