火星异种下载:什么是指针

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/12 07:54:16

指示时间的针啊,分时针,分针,秒针.

指针

指针是通过地址来访问变量的一种特殊的数据类型,属于动态的数据结构,它可以在需要时产生,用完后则又可以取消或回收,以减少占用的内存空间。指针变量与其他类型的变量不同,它占有的不是数据,而是地址。
由于动态数据结构的变量是在程序执行过程中动态生成的,所以不能预先予以说明,无法预先给这些变量起名字,访问时也无法通过名字直接输出或显示,而只能用指针得到其地址,然后间接访问。

和其它变量一样,指针是基本的变量,所不同的是指针包含一个实际的数据,该数据代表一个可以找到实际信息的内存地址。这是一个非常重要的概念。许多程序和思想依靠指针作为他们设计的基础。

开始

怎样定义一个指针呢?除了你需要在变量的名称前面加一个星号外,其它的和别的变量定义一样。举个例子,以下代码定义了两个指针变量,它们都指向一个整数。

int* pNumberOne;

int* pNumberTwo;

注意到两个变量名称前的前缀’p’了么?这是一个惯例,用来表示这个变量是个指针。

现在,让我们将这些指针实际的指向某些东西:

pNumberOne = &some_number;

pNumberTwo = &some_other_number;

‘&’符号应该读作”什么什么的地址”,它返回一个变量在内存中的地址,设置到左侧的变量中。因此,在这个例子中,pNumberOne设置和some_number的地址相同,因此pNumberOne现在指向some_number。

现在,如果我们想访问some_number的地址,可以使用pNumberOne。如果我们想通过pNumberOne访问some_number的值,那么应该用*pNumberOne。这个星号表示解除指针的参照,应该读作“什么什么指向的内存区域”。

到现在我们学到了什么?举个例子

哟,有许多东西需要理解。我的建议是,如果你有哪个概念没有弄清楚的话,那么,不妨再看一遍。指针是个复杂的对象,可能需要花费一段时间来掌握它。

指针是c语言的难点,很难被学生接受。本部分主要演示:指针的定义,普通变量的定义,建立关联,直接赋值,间接赋值。为了简便,暂时只讨论整形。

设计:

在组合框中选择操作的类型,在弹出的对话框中做进一步的处理。二十个编辑模拟内存,十个为整形,十个为指针区.由于“内存”的限制,很容易“内存不足”。二十个静态控件显示变量名及模拟内存地址。

整形数组记录数值,字符串数组记录变量名,注意对应。

定义:加上变量名,并随机赋初值。

关联:在对话框的组合框中选择变量,前有提示信息"=&",改变指针的值,并将相应的编辑框连线。

赋值:在个对话框中选择整形变量或指针变量,并输入值。

有必要的话,将CEdit改成CRichEdit,用SetSel反向显示正在处理的模拟空间。