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

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

C++代码优化一(C++使用者必读)
HOT

谈到优化,很多人都会直接想到汇编。难道优化只能在汇编层次吗?当然不是,C++层次一样可以作代码优化,其中有些常常是意想不到的。在C++层次进行优化,比在汇编层次优化具有更好的移植性,应该是优化中的首选做法。   确定浮点型变量和表达式是 float 型   为了让编译器产生更好的代码(比如说产生3DNow! 或SSE指令的代码),必须确定浮点型变量和表达式是 float 型的。要特别注意的是,以 ...
阅读全文

Union的迷思
HOT

联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出! 1、什么是联合?   “联合”是一种特殊的类,也是一种构造类型的数据结构。 在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量...
阅读全文

C语言经典100例(一)
HOT

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去      掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)    for(j=1;j<5;j++)   for (k=1;k<...
阅读全文

在单独线程中执行对象成员函数
HOT

问题的提出:    实际上所有线程都是用来处理C函数的,而不是C++类成员函数。标准库中提供一个API函数,这个函数以回调函数指针作为线程的执行代码并在单独的线程中调用回调函数。问题是在这样的线程库中不能创建执行对象成员函数的线程;只能使用普通的函数。因此,下列代码是失败的: // 启动线程库函数的线程 int thr_create (void (*pf)(), void* prm, thread...
阅读全文

windows核心编程一书编程方法析[转贴]
HOT

我对windows界面编程一直不甚了解,自从学C语言时我就想如何写一个窗体出来,不过我走了很多弯路,MFC和纯SDK方式的都嫌繁琐,MFC自动生成的代码,SDK繁琐的WndProc,都很让我头疼,所以一直以来我都用C++写黑洞洞console程序。而看了windows核心编程中jeffrey的示例代码,很是喜欢这种风格,既保持了SDK编程的灵活,又很好控制。其实说起来也不是很出奇,界面用的资源编辑...
阅读全文

论函数调用约定
HOT

在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数...
阅读全文

什么是结构体?
HOT

自己总结的,觉得能帮助初学者看透一些纷繁复杂的语法规则,理解C语言的真谛  第一次发布,不一定正确,欢迎讨论、指正、补充  1. 表达式定律     任何能产生数值结果的运算、操作都可以作为表达式,并可以放到任何需要数值结果的地方,只要数值类型能够匹配     常见的可以产生数值结果的运算和操作     算术...
阅读全文

C/C++中的结构体
HOT

什么是结构体?    简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组...
阅读全文

C/C++头文件一览
HOT

#include <assert.h>    //设定插入点 #include <ctype.h>     //字符处理 #include <errno.h>     //定义错误码 #include <float.h>     //浮点数处理 #include <fstream.h>    //文件输入/输出 #include <...
阅读全文

c语言函数
HOT

在学习C语言函数以前,我们需要了解什么是模块化程序设计方法。人们在求解一个复杂问题时,通常采用的是逐步分解、分而治之的方法,也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解。程序员在设计一个复杂的应用程序时,往往也是把整个程序划分为若干功能较为单一的程序模块,然后分别予以实现,最后再把所有的程序模块像搭积木一样装配起来,这种在程序设计中分而治之的策略,被称为模块化程序设计方法。在C...
阅读全文

C语言图形处理
HOT

再谈main()主函数  每一C 程序都必须有一main()函数,可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的。1. main() 参数  在Turbo C2.0启动过程中,传递main()函数三个参数:argc,argv和env。  * argc: 整数,为传给main()...
阅读全文

C语言入门之枚举与位运算(1)
HOT

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

C语言中++在变量前后的执行详解
HOT

今天在论坛上看到一个网友问一个关于i++和++i的区别的问题,这个问题虽然很简单回答,但是都只是书本上和一些简单程序举例的解释说明,好像很少有网友给出具体的原理,也就是CPU的执行。虽然简单,但是很多C入门的网友依然对此困惑,我在论坛上答复了那个网友,而且把我答复的内容复制到了我的blog当中,希望对一些刚刚入门的网友有所帮助。main(){    int a,b;  ...
阅读全文

妙用c++注释
HOT

++的注释有两种:// 和/*。 下面我向大家介绍一下如何用他们进行调试。写成这样:   //*    func1( )    .......        具体代码  //*/现在func1()是正常运行的,因为程序先遇到//, 把本行后面的*注释掉了;如果你想注释掉fun...
阅读全文
10 页 / 共 18