- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言中数组与指针关系探讨
李廷元张选芳
中国民航飞行学院计算机学院,四川广汉618307
【摘要】 对C语言中的指针、数组等概念进行了讨论,详细阐明了数组与指针的关系.
【关键词】 C语言指针数组二维数组指针数组
在C语言中,数组和指针是两个非常重要的数据类型,它们之间有着十分密切的关系,
都适合用于处理内存中连续存放的同类型数据。利用数组可以简化对数据的处理,而指针
则是C语言的精髓,指针和数组的结合,能处理极其复杂的数据结构,给应用程序带来极
大的灵活和方便。本文探讨了数组和指针间的这种密切关系。
1 指针
1.1指针的概念
在不同版本的C语言教材中,对于什么是指针.有不同的说法。第一种说法,指针是
一种用于存放另外一个变量的地址的变量【l】,指针(pointer)是存放内存地址的变量【2】。
第二种说法,一个变量的地址称为该变量的“指针”,如果有一个变量专门用来存放另外一
个变量的地址(即指针),则它称为“指针变量”,指针是一个地址,而指针变量是存放地
址的变量【3】。第三种说法,指针是一种低级数据类型,它存放的是某一数据的地址,该地
址中存放的可能是任何一种数据类型【4】。总结上面的三种说法,第一种说法,认为指针是
变量,忽略了指针常量,如数组名、函数名等,是不全面的。第二种说法,认为指针是地
址,只强调了指针的值,例如,地址2000是变量i的指针,把指针的值与指针的概念混为
一谈。第三种说法,认为指针是一种数据类型。
综上所述,C语言中指针是一种数据类型,它是表示别的数据(常量、变量、函数等)
的地址的数据,有指针变量和指针常量两种形式【5】。在上下文含义不发生混淆的情况下,
可以把指针变量简称为指针。
1.2指针变量的定义
定义指针变量的一般形式为:type木name;
其中。type是指针的基类型,基类型用于说明指针变量可以指向的变量的类型。flame
为指针变量的名称。·用于说明其后面的name是指针变量,其值是地址,该地址中存放的
数据类型为type。
542
1.3指针操作符
1.3.1取地址运算符
指针变量的值是地址,这个值可以是常量地址,也可以是某个变量的地址。在程序中,
如何给指针变量赋值呢?可以通过实现。是一元操作符,返回其操作数的内存地址,
即用于取得某个变量的地址。例如:
int●p,i# /幸定义指针变量P和整型变量i*/
P·‘ij /宰将变量i的地址赋值给指针变益p*/
对于上面的语句,可以这样理解:假设变量i用内存单元2000保存其值,同时假定i
的值为100,执行上面的语句后,P的值为2000,地址2000处存放的数据为100。
1.3.2取内存单元数据运算符木
·为一元操作符。它返回其操作数所示地址处的值。可以通过章运算符将地址所标识的
内存单元的数据取出。例如:
int峰,i=100,J;/I定义指针变量P和整型变量i和J,i的初值为100./
Ps&i; /衅苷变量i的地址赋值给指针变量p*/
J·印; /宰将指针变量P所标识的地址2000处存放的值100取出赋值给j*/
执行上面的语句后。j的值将为100。
1.3.3和奉的关系
·和是互补的关系。获取变量的内存地址,·则用于获取内存地址处的数据。当·和
组合在一起使用时,其作用相互抵消。例如:
int
i一3;int●p;p-&ij
对于上面的三条语句,可以衍生出下面的运算:对P=i;作幸运算,即幸p=·i=i;得
2数组
2.1数组的概念
数组是一种构造数据类型。它是由一组相同类型的数据元素按照一定顺序组成的数据
结构。通过数组的定义,可以利用数组名对具有相同数据类型的一组数据元素进行整体标
识。例如,int
a【5】:定义了一个名为a的数组,该数组包含5个相同类型(整数)的元素,
编译系统为该数组在内存中开辟可存放5个整型数据的内存空间。此后,对数组元素不必
一一声明就可直接引用。如,若引用数组中的第0个元素,可使用下标法a[Ob引用数组
中的第一个元素,可使用下标法a【1】;引用数组中的第i
您可能关注的文档
- C语言度量及评测技术研讨.pdf
- C语言函数教学方法探讨研究.pdf
- C语言和Origin7.5软件在实验中的应用——以牛顿环测纯水折射率为例研究.pdf
- 小麦F1籽粒Glu1基因的共显、畸变及剂量效应研究.pdf
- BIM技术和BLM理念在建筑业信息化发展中的研讨.pdf
- C语言函数参数传递过程教学方法研讨.pdf
- C语言基本算法举例研究.pdf
- C语言教学的多层次改革研究.pdf
- BIM技术在设计工作中的应用研讨.pdf
- C语言教学方法的探索——基于学习兴趣的教学改革研究.pdf
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)