在C语言怎样对数据和操作的封装

*/ --------------------------------------------------------------------------------------*/ 出自: 快乐编程 http://hi.bccn.net/108519*/ 作者: neverTheSame E-mail:zhaoxufeng9997@126.com QQ:475818502*/ 时间: 2008-6-1*/ 声明: 尊重作者劳动,转载请保留本段文字*/ -----------------------------------------------------------------...
2007-09-06 21:04 | 阅读 5804 次 | 评论 0 条

"Out of memory in function ..." 解决之道

出现这种原因:超出了TC2.0 能编译文件的最大容量.可以在这里看到编译的最大容量:Compile--->Get info╔═════════════ Information ║ ║║ Current directory : D:\TURBOC2 ║║ Current file : D:\TURBOC2\NONAME.C ║║ File size ...
2007-09-02 22:22 | 阅读 1921 次 | 评论 0 条

包含库头文件需要注意的事项

今天,就给大家说一说使用头文件得注意的地方.费话少说,就给大家一个例子吧:#include<stdio.h>#define BUFSIZ 128int main(void){return 0;}编译一下,给现了一个警告: Compiling D:\TURBOC2\NONAME.C: Warning D:\TURBOC2\NONAME.C 2: Redefinition of 'BUFSIZ' is not identical哦,原来是在stdio.h头文件中也宏定义了BUFSIZ.因此,我们在使用宏时,不能和头文件中定义的宏相同.这点值得大家注意. 还有头文件中的函数也得注意,我们选用...
2007-09-02 05:14 | 阅读 2022 次 | 评论 0 条

scanf()与标准输入

现在,给大家说一说使用scanf()函数的一些值得注意的地方.不知大家有没有在编程的时侯,使用了scanf()函数后会出现一些异常情况.大家有没有注意到要结束scanf()函数的输入一定要按回车键.是的,原因就是出现在这个地方.它的作用就是从输入流提取数据.输入流的指针在stdio.h文件中有宏定义#define stdin (&amp;_streams[0]) .也就是scanf()函数相当于:fscanf(stdin,...).例如scanf("%d",&amp;i); 相当于fscanf(stdin,"%d",&amp;i); .所以,当输入流中有数据时,scanf()就从中提...
2007-09-02 05:12 | 阅读 2292 次 | 评论 0 条

使用sizeof()为你的程序有更好的兼容性

由经验七,不难得出另一个值得我们注意的问题:不要以为我们经常指针类型的长度是2个字节,那在就任何时候也都是2个字节.这是一种定性思维.作为一个合格的程序员应该养成一个好的习惯,一个不把往常接触到的情况看成现在也是这样的情况的习惯.有时编译模式有变,有时编译器的不同也会有所不同.如在TC2.0下整型变量长度为2个字节而在VC++6.0中是4个字节.那么有没有一种方法,可以在不同编译模式或不同编译器的通用的方法呢.只要大家想一下,就有了.大家还记得,我们在前面的经验介绍中用到了sizeof()这个函数.它的作用测定变量或某一类型的长度.当我要用为一个指向字符类型的指针申请能存放10个字符的内...
2007-09-02 05:10 | 阅读 1441 次 | 评论 0 条

#define NULL 0 使用的好坏

在TC2.0下编程,不要为了省麻烦,在程序的开头以#define NULL 0 来代替#include<stdio.h>.我不是说这种方法不好,反而我认为用到非常妙,因为在程序中可以减少不必要的外部函数的连接,从而减少程序的负担.但是,用#define NULL 0也得有下前提,就是编译器的模式(Model)是Tiny,Small,Medium.那么为什么在Compact,Large,Huge下不行呢.我举一例子,代码如下:#include<stdio.h>#include<conio.h>int main(void){ clrscr(); printf("%d",sizeof(in...
2007-09-01 08:18 | 阅读 2270 次 | 评论 0 条

小心使用malloc()函数

经验五中用到malloc()函数,我就不得不说一说它了.我在此不得不提醒大家一下:malloc()函数不是你想象中那么好用的.在此,我就说一下本人在用malloc()函数遇到的麻烦.代码的形式大概如下:#include<stdio.h>#include<conio.h>int main(void){...char **pointer=NULL;char string[2]={1,2};char string1[3]={1,2,3};char string2[4]={1,2,3,4};... pointer=(char**)malloc(sizeof(char*)*3);pointer[...
2007-09-01 08:17 | 阅读 2221 次 | 评论 1 条

多级指针的使用

在此,我想为大家谈一谈多级指针的使用问题.我本想不要浪费篇幅来谈多级指针.它对那些使用过的人来说很容易,但对于刚学的人并不那顺手.当初,我在学的时侯,也不是很明白.所以才拿出来谈一谈.还是先给一个例子吧.当程序设计要求:建立一个三级指针变量来管理学生姓名,其二级指针指向一个班,一级指针指向学生姓名.要求就是这么多,大家可以略微思考一下.从要求中可以分析:我们无法知道一个学校有多少个班和每一个班中有多少名学生.那么应该怎样做呢.可以用宏定义#define SCHOOL_CLASS_NUM 50来说明学校拥有多少个班.可以用一个整型数组student_NUM[SCHOOL_CLASS_NUM...
2007-09-01 08:15 | 阅读 3008 次 | 评论 0 条

函数调用时参数传入的顺序 小谈

在函数的调用时需要注意参数的传入的顺序.我可以给一个例子:#include<stdio.h>#include<conio.h>int main(void){ int i=0; clrscr(); printf("%d,%d",i++,i++); getch(); return 0;}printf()函数是我们在编程时用得比较多的函数.大家不妨运行一下,得出程序的结果.(结果在此不予给出)从结果可以看出参数的传递相当于:printf("%d,%d",1,0);也就是说先从最后一个参数开始传递.可以得出程序中printf()的执行过程:printf("%d,%d",i++,i++)...
2007-09-01 08:13 | 阅读 2329 次 | 评论 0 条

#define 优越性畅谈

在编写程序时,尽量不使用确切的数字,而使用#define 来宏定义这些数据.否则将会给程序的维护带来巨大困难和使用程序变得毫无生机和活力.例如:我们要使用一个字符型全局数组变量,变量名为array.首先我们应该确定数组的大小,例如大小为500可以这样定义:char array[500];也可以这样定义:#define MaxArrayLen (500)char array[MaxArrayLen];如果在程序中需要判断数组是否会越界使用,可以分别用500/MaxArrayLen来参照. 假如我们有必要使用数组的容量增大至600,使用第一种方法需要在程序中一个一个地去改.如果程序大,可想...
2007-09-01 08:09 | 阅读 1402 次 | 评论 0 条

if/else需要注意的地方

在有if/else这样的语句时,希望不要图省事而不去写一对大括号"{}".除非你对不使用大括号而带来的结果非常有信心.我得举一个例子让大家明白我说的不是一堆废话.#include "stdio.h"#include "conio.h"int main(void){ int i,j; clrscr(); scanf("%d,%d",&amp;i,&amp;j); if(i>0) if(i>10) printf("i>10\n"); else printf("i>0 &amp;&amp; i<=10\n"); else if(i<-10) ...
2007-09-01 08:05 | 阅读 2539 次 | 评论 0 条

头文件的制作规范

现在给大家谈一谈在编写头文件时,尽量使用以下格式:#ifndef __文件名__include /*这是文件的标识,要保证每个文件的标识是唯一的.*/#define __文件名__include......#endif有人会问使用这们的格式有什么好处.如果你不想你的程序编写得比较大而且有条理,你可以不用这样的格式.因为你可能只用一个文件就可以解决的小程序,当然不必管这样的格式.但你的编写的程序的角度是大程序,那你可得注意一下.我举一个例子:某个头文件名为:ZXF_TEST.H主程序的调用为:#include "ZXF_TEST.H"#include "ZXF_TEST.H"int mai...
2007-07-30 22:01 | 阅读 4334 次 | 评论 1 条