
C语言学习
文章平均质量分 55
zhoufanking
这个作者很懒,什么都没留下…
展开
-
void main(void) - the Wrong Thing(转载)
The newsgroup, comp.lang.c, is plagued by an almost continuous discussion of whether we can or cannot use void as a return type for main. The ANSI standard says "no", which should be an end of it. How原创 2005-06-24 07:49:00 · 979 阅读 · 1 评论 -
Linux 编程之C与脚本的混合编程
在linux上写程序、做网管的人,或多或少都会几种脚本。脚本语言灵活的变量类型、强大的正则表达式处理能力,再加上linux系统本身的管道、重定向以及丰富的命令行工具,让你编程起来游刃有余。 而C语言固然有种种优势,但不可否认,很多场合下,用脚本语言更为方便,比如我们将举例说明的对配置文件的处理。 先看看我们示例程序的任务: 假设我们有一个用c写的程序,它有一个配置文件 user.转载 2008-06-09 17:30:00 · 569 阅读 · 1 评论 -
using sizeof and strlen
/* * Author: zhoufan * data : 06/07/2008 just before the 08 Europen Cup :) * e-mail: zhoufanking@hotmail.com */ /* Purpose: * using strlen and sizeof on a char array, sometimes make us obbse原创 2008-06-07 21:04:00 · 328 阅读 · 0 评论 -
十进制转二进制的算法
方法一:int main() { int ival, n = 0; char bin[32]; scanf("%d", &ival); while(ival > 0) { bin[n++] = ival % 2; ival /= 2; } for(n--; n >= 0; n--) printf("%d", bin[n原创 2005-10-20 11:30:00 · 1550 阅读 · 1 评论 -
使用md5校验和算法保护文件(转载)
近日要用到文件校验算法,查看了一下相关资料,得到以下理论与实践经验。一、理论部分:1、预备知识1.1什么是数据校验通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。1.2最简单的检验实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最原创 2005-05-26 13:35:00 · 867 阅读 · 1 评论 -
学习c语言
(1)函数体中任意一处出现的return语句使得程序推出函数体,下面的代码示例了这个说法:#include "stdio.h"int main(){ int intcounter_1,intcounter_2; intcounter_2 = 3; for (intcounter_1=0; intcounter_1 {原创 2005-04-15 10:59:00 · 872 阅读 · 0 评论 -
C语言头文件声明
在我们查看别人的源程序的时候,经常会看到别人的源码头文件中有一些比较奇怪的代码,这些代码使用来干什么的呢?比如下面这个例子:#ifndef __C_LOG_H__#define __D_LOG_H__#ifdef cplusplusextern "C"{#endiftypedef struct _CLog Clog;CLog * CreatNewLog(int nArgNum,...);voi原创 2005-04-17 22:10:00 · 1534 阅读 · 1 评论 -
函数参数的传递问题(一级指针和二级指针)(转载)
原以为自己对指针掌握了,却还是对这个问题不太明白。请教! 程序1: void myMalloc(char *s) //我想在函数中分配内存,再返回 { s=(char *) malloc(100); } void main() { char *p=NULL; myMalloc(p); //这里的p实际还是NULL,p的值没有改变原创 2005-07-20 18:24:00 · 1831 阅读 · 0 评论 -
C语言中的可变长参数(转载)
一、什么是可变参数我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以有以下的形式: printf("%d",i); printf("%s",s); printf("原创 2005-07-16 18:08:00 · 836 阅读 · 0 评论 -
关于“内存对齐”必要性的官方解释(转载)
很早以前就知道写程序的时候最后做到内存按4字节(doublewords)对齐能增加性能,这也是很多编译器在编译的时候都会加上 -CODE .algin 4 的原因,不过今天终于看见一份官方文档对此的解释了:When used in a configuration with a 32-bit bus, actual transfers of data between processor原创 2005-06-23 14:59:00 · 736 阅读 · 0 评论 -
如何在C语言中巧用正则表达式
如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度,因此现在已经在许多Linux实用工具中得到了应用。千万不要以为正则表达式只是Perl、Python、Bash等脚本语言的专利,作为C语言程序员,用户同样可以在自己的程序中运用正则表达式。 标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++转载 2008-06-09 17:28:00 · 406 阅读 · 0 评论