博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2008年10月26日

摘要: 1.数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。2.一个数组是由连续的一块内存单元组成的。数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量)组成的。每个数组元素按其类型不同占有几个连续的内存单元。一个数组元素的首地址也是指它所占有的几个内存单元的首地址。3.定义一个指向数组元素的指针变量的方法,与指针变量相同。4.C语言规定,数组名代表数组的首地址,也就是... 阅读全文

posted @ 2008-10-26 17:49 拉拉 阅读(915) 评论(0) 推荐(0)

2008年10月25日

摘要: 谭浩强的C语言教程中关于指针变量作为函数参数的说明中举了以下的例子: CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->swap(int *p1,int *p2){int temp; temp=*p1; *p1=*p2; *p2=temp;}m... 阅读全文

posted @ 2008-10-25 12:24 拉拉 阅读(1034) 评论(0) 推荐(0)

2008年10月24日

摘要: 如果已经执行了“pointer_1=&a;”语句,则&*pointer_1是什么含义?2) *&a含义是什么?3) (pointer_1)++和pointer_1++的区别? 第一个比较好理解&*pointer_1表示的意思应该是就是&a*&a应该是表示意思就是*pointer_1第三个,我实在看不出区别,如果括号内有其它运算符号的就有区别了 阅读全文

posted @ 2008-10-24 20:35 拉拉 阅读(200) 评论(0) 推荐(0)

摘要: 对于*符号要注意以下两点:1.不允许把一个数赋予指针变量,故下面的赋值是错误的:p=1002.被赋值的指针变量前不能再加“*”说明符,如写为*p=&a 也是错误的。为什么不可以用这个方法呢?我个人的理解在于理解*这个符号在定义指针变量的格式中类型说明符 *变量名;*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。如 int *p1 这里表示的是p... 阅读全文

posted @ 2008-10-24 15:17 拉拉 阅读(199) 评论(0) 推荐(0)

2008年10月23日

摘要: 如果数据类型在它自己的内存分配中存储数据,则该数据类型就是“值类型”。“引用类型”包含指向存储数据的其他内存位置的指针。1.值类型的内容存储在堆栈上分配的内存中就如 int x = 12;中 值 12 存储在“栈”中。由于定义变量的方法结束执行而使变量 x 超出范围时,其值则从栈中丢弃。使用栈效率较高,但值类型的生命周期有限,不适合在不同类之间共享数据。2.引用类型(例如,类或数组的实例)在“堆”... 阅读全文

posted @ 2008-10-23 23:03 拉拉 阅读(133) 评论(0) 推荐(0)

摘要: 指针的基础知识:1.根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。2.严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针。所以称后者为指针变量。3.对于一个数据结构,由于它们可能占有的是一连串的内存单元,但是数据类型或数据结... 阅读全文

posted @ 2008-10-23 20:59 拉拉 阅读(154) 评论(0) 推荐(0)