分类目录归档:C/C++基本语法

学好C/C++的语法,这样才能更好地运用C/C++,只发表技术性文章。

C++中的类型重定义
HOT

这几天工作时碰到一个C++的编译错误(我使用的是Visual C++ 7.0),说是有一个类重复定义,仔细想想我们的这个项目也是做了好几个Release了, 内部代码应该不会有这样的低级错误, 真把类型给重复定义了,检查结果正如我预料的一样。 就这样, 我左右没找到原因,被一个编译错误给卡在那里了。(在我的概念中, 程序错误的等级为:编译错误->链接错误->逻辑错误, 此错误属于最低级...
阅读全文

请问外部变量和内部变量是什么意思?
HOT

感到好抽象,外部,内部指的是哪里?是对于储存器来说的,还是程序。 ------- 看那C语言部懂的概念这是由于程序分块编译造成的。对于大型程序来说,一般有很多个小程序,每个小程序都是一个独立的编译单元。由于每个程序不可避免地要引用其它程序的变量,所以在编译时,要暂时不分配地址,而编译单元中的变量可以直接分配地址。这种编译上的不同,造成外部变量和内部变量上的差异。外部变量的地址定位要等到连接时才能完...
阅读全文

构造函数中的this指针
HOT

说明:感谢网页C++ FAQ Lite的作者Marshall Cline和译者申旻;感谢《C++语言核心》一书的作者Gregory Satir和Doug Brown及译者张铭泽-------------------------------原理-------------------------------某些人认为不应该在构造函数中使用this指针,因为这时this对象还没有完全形成。但是,只要小心...
阅读全文

C/C++语言void及void指针深层探索(1)
HOT

1.概述   许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。   2.void的含义   void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。   void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一...
阅读全文

C/C++语言struct深层探索(一)
HOT

1.     struct的巨大作用 面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct是区别一个开发人员是否具备丰...
阅读全文

C 语言复习与提高—I. C 语言概述
HOT

目录 I. C 语言概述II. 表达式III. 语句IV. 数组与指针V. 函数VI. 编译预处理VII. 结构体与共用体VIII. 文件附录:参考文献附录:推荐读物 I. C 语言概述一、C 语言概述:C 被称为“中级语言”,它把高级语言的最佳成分与汇编语言的控制和灵活性结合起来。C 允许对位、字节、字和地址等计算机功能中的基本成分直接操作。尽管如此,C 程序的移植性还是非常出色的。所...
阅读全文

C语言初学者入门讲座 目录
HOT

1、C语言初学者入门讲座 第一讲 慨述 2、C语言初学者入门讲座 第二讲 数据类型(1)3、C语言初学者入门讲座 第二讲 数据类型(2)4、C语言初学者入门讲座 第二讲 数据类型(3)5、C语言初学者入门讲座 第三讲 基础语句6、C语言初学者入门讲座 第四讲 运算符和表达式7、C语言初学者入门讲座 第五讲 输入输出(1)8、C语言初学者入门讲座 第五讲 输入输出(2)9、C语言初学者入门讲座 第六...
阅读全文

C语言初学者入门讲座 第十六讲 文件(2)
HOT

字符串读写函数fgets和fputs  一、读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入字符数组str中。  ...
阅读全文

C语言初学者入门讲座 第十六讲 文件(1)
HOT

所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。   普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以...
阅读全文

C语言初学者入门讲座 第十五讲 预处理
HOT

概述  在前面各章中,已多次使用过以“#”号开头的预处理命令。如包含命令# include,宏定义命令# define等。在源程序中这些命令都放在函数之外, 而且一般都放在源文件的前面,它们称为预处理部分。   所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能, 它由预处理程序负责完成。当对一个源文件进行编译时, 系统将自动引用预处理程序对源程...
阅读全文

C语言初学者入门讲座 第十四讲 枚举与位运算(2)
HOT

位域  有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的...
阅读全文

C语言初学者入门讲座 第十四讲 枚举与位运算(1)
HOT

在实际问题中, 有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月, 一个班每周有六门课程等等。如果把这些量说明为整型, 字符型或其它类型显然是不妥当的。 为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值, 被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是, 枚举类型是一种基本数据类型,而不是一种构造类型, 因为它...
阅读全文

C语言初学者入门讲座 第十三讲 联合
HOT

“联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。如前面介绍的“单位”变量, 如定义为一...
阅读全文

C语言初学者入门讲座 第十二讲 结构(3)
HOT

结构指针变量作函数参数  在ANSI C标准中允许用结构变量作函数参数进行整体传送。 但是这种传送要将全部成员逐个传送, 特别是成员为数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。 因此最好的办法就是使用指针,即用指针变量作函数参数进行传送。 这时由实参传向形参的只是地址,从而减少了时间和空间的开销。  题目与例7.4相同,计算一组学生的平均成绩和不及格人数。  用结构指针变量作函...
阅读全文
7 页 / 共 18