地址与内存关系

计算机的内存看作是一排很长很长的房子,每个房子都可以放数据,通过一个房号来标识。这个比喻颇为有用,也存在局阻性。计算机的内存由数以亿万计的位(bit)组成,每个位可以容纳值0或1.由于一个位所能表示的值的范出太有限,所单独的位用处不大,通常许多位合成一组作为一个单位(比如最小8位,char类型),这样就可以存储范围较大的值。画个图来描述机器中的内存位置。

自定义类型枚举enum

枚举enum没有新定义类型,结构是一个新类型这点可以从它们的定义看到,枚举的每个值没有类型,只有名字,结束用“,”结构类的成员都有自己的类型,有变量名,结束用“;”。其时枚举enum是整型变量,枚举enum的定义意义,就是以Arrow类型为例,它的取值只有4个,主要还是为了编程时方便管理,方便阅读,方便理解程序。运用有非常多,如颜色枚举、季节枚举、月份枚举、星期枚举等等。

自定义类型联合union

联合union与结构非常的类似,也是自定义类型。结构是将简单类型组成一起,联合union是也是将简单类型组在一起,但它占的内存是共用的。画个图应该会明白点。

联合还有很多运用,很多变化。只要记住一点就好,联合union是共用一块内存。这点记住了,不管再怎么运用变化,都能很快想明白。

自定义类型结构struct

结构就是将基本类型组合在一起形成一个新类型,结构struct主要目地,方便编程和管理代码。比如一个二维平面的点point,有两个值x,y;这时定义成结构struct,编程代码看起来会非常清楚。如果不定义成结构struct用两个变量,当然问题是可以解决,但这样项目变大时将会是个灾难。

ACLLib库键盘交互操作介绍

上一篇写了个小程序介绍了运用ACLLib库操作鼠标。现在来分享ACLLib库键盘交互操作如何实现,也写一个小程序,判断键盘按键。运用ACLLib库判断键盘键值可以说是没什么难度,主要是要理解键盘上各个键值定义,不然会很容易混掉。

C/C++语言入门与编程实践

系统的分享自己C/C++语言中学习的心得,整理成有条理的文章让学习者更能看明白。总共分为4部份来做分享,第一部份讲C++兼容C语言的部份,基础部份;第二部份讲OOP面向对象编程(这部份开始就都是C++语言部份);第三部份讲C++语言中的高级语法特性;第四部份讲STL 标准库、容器、算法部份。

ACLLib库鼠标交互操作设计

在设计一个win32 GUI程序的时候一定会有与人交互的部份,比如鼠标、键盘等。哪用ACLLib库可不可实现这样的交互操作设计?后来研究了一下ACLLib库代码,是可以实现鼠标、键盘的交换的。下面以鼠标交互操作设计为例来分享下,运用ACLLib库如何编程实现。最终效果,用ACLLib库设计的鼠标交互操作,左键按下画圆,右键按下画方。颜色,运用随机函数实现随机颜色。

数组使用注意点

数组array就是同一种类型的数据集合。数组的运用还是比较多的,比如成绩,工资,学号只要是一类的数据,就可以定义成数组。不过在使用数组时,还是有很多要小细节要注意。

注意一点数组不会做下标越界检查,比如上面的数组只有10个a[0]-a[9],但写成a[10]编译器是也会让通过编译,运行时将会出错,所以用数组下标的使用要小心。建议大家用Vector类来代替数组的使用,它也就是C++为了代替数组做的设计。

图像逻辑运算

逻辑运算运用到图像中计算方法,也就是将两张图像对齐叠加,对每个点进行逻辑运算,得到一张新图(也可以将结果直接储回原图)。图像的逻辑运算主要应用于图像增强、图像识别、图像复原和区域分割等领域,与代数运算不同,逻辑运算既关注图像像素点的数值变化.又重视位变换的情况.以下写个例子:两张图A 图B,分别做4种基本逻辑运算,