
C编程
文章平均质量分 73
peterxin
这个作者很懒,什么都没留下…
展开
-
C语言中用const改善程序的健壮性
关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,现将本人的一些体会总结如下,期望对大家有所帮助:一 const基础如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = 500;const int* a = &b; [1]int const *a = &b; [2]int* const a = &b; [3]const int原创 2004-12-06 12:47:00 · 1349 阅读 · 0 评论 -
C程序开发规范
程序设计规范 1. 文件夹与文件的命名规则1.1 文件夹命名 ① 根据系统设计所规定的结构,建立相应的文件夹,根据需要建立子文件夹② 文件夹的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉字③ 文件夹名称的必须全部使用小写字母 (如 “ /example ” )1.2 文件命名 ① 文件的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉原创 2004-12-09 20:40:00 · 1444 阅读 · 0 评论 -
经典C程序100例
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf("/n");for(i=1;i for(j=1;j for (k=1;k { if原创 2004-12-06 19:05:00 · 1172 阅读 · 0 评论 -
C语言之static辨析
1、概述 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。2、问题:Static的理解 关于static变量,请选择下面所有说法正确的内容: A、原创 2004-12-09 19:05:00 · 955 阅读 · 0 评论 -
C与Java中取精确到毫秒的时间
我们在编程中经常会为了测试性能,要取一个操作前后的时间差。在java中很简单,用System.currentTimeMillis()函数,就能够得到当前时间,精度为毫秒。在c语言中,大多数的日期类函数都是精确到秒的,如time(),localtime()。精确到毫秒的函数有ftime(),gettimeofday(),都是返回一个结构。其中ftime()在time.h中定义,返回一个struct原创 2004-12-09 19:38:00 · 2497 阅读 · 1 评论 -
C/C++的思索 C++之父访谈录
在1998年的元旦,Bjarne Stroustrup(C++之父)接受了IEEE《计算机》杂志记者的专访。编辑很自然的认为他会对于过去七年来使用他创建的语言进行面对对象设计做一个历史性的回顾。而在这个专访中,记者获得了更有价值的新闻,但是最后编辑决定为了整个IT产业,这个稿子不能发表,但是就像其它被砍掉的新闻,往往还是弄得路人皆知的。 这一篇适当时专访的完全拷贝,没有被编辑、删改或者做过什么润色原创 2004-12-09 20:05:00 · 891 阅读 · 1 评论 -
C语言:陷阱和缺陷
原著:Andrew Koenig - AT&T Bell Laboratories Murray Hill, New Jersey 07094翻译:lover_P0 简介 C语言及其典型实现被设计为能被专家们容易地使用。这门语言简洁并附有表达力。但有一些限制可以保护那些浮躁的人。一个浮躁的人可以从这些条款中获得一些帮助。 在本文中,我们将会看一看这些未可知的益处。这是由于它的未可知,我原创 2004-12-09 20:35:00 · 1106 阅读 · 0 评论 -
C语言之四书五经
作者:乾坤一笑 C语言教学早就进入了我国各大高校的教程,但是大家对它的认识以及重视程度还很是不够。很多人认为C语言无非是一种教学语言,是一种工业语言,它很老了,该淘汰了,比不上VC++、Java、C#等新兴语言牛B,所以不是很重视C语言。我认为,这些朋友是受了某些舆论的误导才会有此看法。C语言是各大操作系统的基础,Unix、Linux、Windows其内核都清一色是C语言开发的,(某些地方是原创 2004-12-10 17:16:00 · 1842 阅读 · 0 评论 -
写给C语言初学者的话
学习C语言不要心急,要循序渐进,须知欲速则不达的道理。千万不要盲目的写大量的代码,这样做只会堆出大量的低档次代码,同时使你形成不好的代码习惯。先买本基础的教材来看看,使得对C语言有个初步的认识,其实我现在手头上还放着《The C Programming Language》和《C程序设计(第二版)》(大学教材)呢,有些时候我还会为了一些基本性的概念来翻翻看呢。 如果你的身边原创 2004-12-17 16:32:00 · 1120 阅读 · 0 评论 -
C语言中可变参数的用法
C语言中可变参数的用法 我们在C语言编程中会遇到一些参数个数可变的函数,例如printf() 这个函数,它的定义是这样的: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是 可变的,例如我们可以有以下不同的调用方法: printf("%d",i); printf("%s",s); printf("the n原创 2004-12-21 10:10:00 · 971 阅读 · 0 评论 -
C的变长参数的思考
某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢?C编译器通常提供了一系列处理这种情况的宏,以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。 ---- 采用ANSI标准形式时,参数个数可变的函数的原型声明是: type funcna原创 2004-12-21 10:29:00 · 957 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,原创 2004-12-21 10:58:00 · 1258 阅读 · 0 评论 -
C语言之extern声明辨析
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗?原创 2004-12-21 11:19:00 · 1957 阅读 · 0 评论 -
left operand must be l-value
-- 作者:maimarco-- 发布时间:2004-11-10 19:51:01-- 错了吗?不明白!!!!// sd.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include struct classd{char name[8];int age;原创 2004-12-26 16:31:00 · 4909 阅读 · 0 评论 -
指针的爱情
zz-freecity observer1 指向变量的指针变量: 出身: int * point; 遭遇: 两人都另有新欢 心声: 你可以变心,我也可以爱别人,很公平。2 指向常量的指针变量: 出身: const int * point; 遭遇: 抛弃对方 心声: 说过多少回了,我们之间已经结束了,你别再缠着我了,告诉你,我已经有了新的女朋友了3 指向变量的指针常量: 出身:原创 2004-12-09 19:44:00 · 873 阅读 · 0 评论 -
DOS命令集
(一)MD——建立子目录 1.功能:创建新的子目录2.类型:内部命令3.格式:MD[盘符:][路径名]〈子目录名〉4.使用说明:(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。原创 2004-12-09 19:33:00 · 810 阅读 · 0 评论 -
C语言之指针、数组和函数
基本解释 1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。 问题:指针与数组 听说原创 2004-12-09 18:53:00 · 689 阅读 · 0 评论 -
C语言初学者易踩十八颗“地雷”
C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考。 1.书写标识符时,忽略了大小原创 2004-12-06 14:25:00 · 964 阅读 · 1 评论 -
C语言编程风格
第一章:缩进格式 Tab是8个字符,于是缩进也是8个字符.有很多怪异的风格,他们将缩进格式定义为4个字符(设置为2个字符!)的深度,这就象试图将PI定义为3一样让人难以接受. 理由是:缩进的大小是为了清楚的定义一个块的开始和结束.特别是当你已经在计算机前面呆了20多个小时了以后,你会发现一个大的缩进格式使得你对程序的理解更容易. 现在,有一些人说,使原创 2004-12-06 18:56:00 · 906 阅读 · 0 评论 -
C语言之内存使用
问题:内存使用 有人写了一个将整数转换为字符串的函数:char *itoa (int n){ char retbuf[20]; sprintf(retbuf, "%d", n); return retbuf;} 如果我调用这个函数:char *str5 = itoa(5),str5会是什么结果呢? 答案分析: 答案是不确定,可以确定的是肯定不是我们想要的 “5”。 re原创 2004-12-09 18:49:00 · 743 阅读 · 0 评论 -
指针与引用的区别
指针与引用看上去完全不同(指针用操作符*和->,引用使用操作符.),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢? 首先,要认识到在任何情况下都不能用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何原创 2004-12-06 11:12:00 · 724 阅读 · 0 评论 -
C++类型中的const
常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。因此,定义或说明常类型时必须进行初始化。 一般常量和对象常量 1. 一般常量 一般常量是指简单类型的常量。这种常量在定义时,修饰符const可以用在类型说明符前,也可以用在类型说明符后。如: int const x=2; 或 const int x=2; 定义或说明一个常数组可采用如下格式: co原创 2004-12-06 12:29:00 · 988 阅读 · 0 评论 -
const修饰指针和引用释疑(转载)
const修饰指针和引用的用法,对于初学C++的人直是讳莫如深,不知所云.一旦你了解了其用法,一切便不值一哂了.下面我为读者一一释疑: 大致说来其可分为三种情况: const修饰指针,const修饰引用,const修饰指针的引用. 1.const修饰指针 const修饰指针又可分为三种情况: const修饰指针本身 const修饰指针所指的变量(或对象)原创 2004-12-06 12:41:00 · 881 阅读 · 0 评论 -
C语言中const应注意的一些地方
Const我们经常要用到,但有时不注意就会导致程序异常,而你还不知道怎么回事,一些是在用const要注意的:1. 函数返回值为const时,返回的东西赋给一个类型相同的标示后其不能为左值;2. 用const定义的int可用来开辟数组,但const定义的常量数组中的元素,不能用来定义数组。 3. const int *i; int const *i; int * const i; 前两个原创 2004-12-06 13:01:00 · 952 阅读 · 0 评论 -
C语言之指针综合谈
1、概述 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。 2、问题:Static的理解 关于static变量,请选择下面所有说法正确的内容:原创 2004-12-09 18:44:00 · 647 阅读 · 0 评论 -
C语言之typedef的问题
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。 2. typedef &原创 2004-12-09 18:46:00 · 733 阅读 · 0 评论 -
内存管理内幕
内存管理内幕内容:为什么必须管理内存C 风格的内存分配程序半自动内存管理策略垃圾收集结束语参考资料 关于作者对本文的评价原创 2004-12-09 19:50:00 · 1104 阅读 · 0 评论 -
C语言程序设计基础之联合
【简 介】 “联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是,这里所谓的共享不是指把多个成员同时装入一个联合变量内,而是指该联合变量可被赋予任一成员值,但每次只能赋一种值,赋入新值则冲去旧值。如前面介绍的“单位”变量,如定原创 2004-12-10 16:55:00 · 1146 阅读 · 0 评论 -
C语言中const的使用
CONST AND PASS-BY-VALUE 使用一个常量前缀(const)可以避免传址变量的修改: void f(const string & s); 一些开发者即使针对传值变量也用 const : void f(const int n); /*n is passed by value, why const?*/ const 是否真的必要? 不, 不需要. 记住, 在你使用传值变量的时候, 调原创 2004-12-06 13:06:00 · 1263 阅读 · 0 评论 -
C语言中正确使用const
基本解释 const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的健壮性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。问题:const变量 & 常量 为什么我象下面的例子一样用一个const原创 2004-12-06 13:21:00 · 949 阅读 · 0 评论 -
学编程的人不能不看的好文章
(枣子原创--www.vcroad.net wutao8@263.net) ◎流星 版权所有,拒绝转载◎3EQ2bJ3i0l做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司,但是想起今年2月21日我面试苏州台湾的IT公司的经历联想到我们现在 ◎流星 版权所有,拒绝转载◎R原创 2004-12-29 23:01:00 · 2519 阅读 · 3 评论