c语言中指针的运用

c语言中指针的运用

ID:46283654

大小:74.50 KB

页数:8页

时间:2019-11-22

c语言中指针的运用_第1页
c语言中指针的运用_第2页
c语言中指针的运用_第3页
c语言中指针的运用_第4页
c语言中指针的运用_第5页
资源描述:

《c语言中指针的运用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言中指针的运用【摘要】c语言是一种被广泛应用的计算机程序设计语言,“指针”是c语言的精华,是教学的重点和难点,同时乂是学好c语言的关键。本文对数组与指针、字符串与指针、函数与指针等在程序设计中的灵活运用作了探讨。【关键词】C语言;指针;数组;字符串;函数C语言把内存存储单元的地址视为一种数据类型,而地址起到指向某个存储单元的作用,因此常称地址为“指针”,即指针就是地址。指针变量是用于存放指针(即地址)的变量,该变量的值是一个指针,一个要访问对象的地址。在C语言中,引入指针变量的目的主要是用来间接访问数据

2、对象,有效地表示复朵的数据结构。例如:设有指向整型变量的指针变量P,要求指向整型变量“那么用c语言可描述为:inta=100;/*定义整型变量a,并赋初值100*/int*p二&a;/*定义指针变量P,并将变量a的地址送给p*/用图表示为:要存取变量a的值,有两种方法可以完成。一种可通过变量名直接对内存单元进行存取操作,这种方式称为直接访问。另•种方式:先找到存放“a的地址”的变量p,从中取出a的地址(2000),然后到这个地址中对a进行存取a的值,这种访问方式称为间接访问。通过对变量p进行取内容运算*P值

3、就得到a的值100o有时为了方便,常将指针变量简称为指针。正确而灵活地运用指针不仅能够提高效C程序的效率,而口.能有效地表示复杂的数据结构。所以指针的主要用途有:进行指针运算;引用数组元素;使用字符串;作为函数参数,实现地址传递;处理链表等等。1•指针运算指针的运算主要指指针的算术运算,其实质就是指向的地址发生变化。指针实际增(减)多少由指针的类型决定。指针加上(或减去)一个整数n,表示将指针由当前位置移动到后面(或前面)的第n个数据处。两个指针相减,表示两指针所指向的地址相减。得到两指针之间数据的个数,结

4、果是一个整数,而不是地址值。如:inta[5]={2,4,6,8,10};/*定义一个整型数组a并初始化*/int*p=a,*q=a;/*定义指针p和q,均指向a数组的首地址*/当p二p+2时,表示将指针p向后移动的二个数据,移向了a数组中第3个数组元素(即6),p-q结果为p与q这两个指针之间数据的个数等于2o利用这个特点,若将p指向数组a的首地址,将p移到a数组的末尾,则用p-q就可以求出数组a的长度,即a中数据的个数。2.数组与指针数组在内存中占据一块连续的存储区,数组名代表这个区域的起始地址,即数据

5、名是一个指向该数组首地址的常量指针。当指针指向一维数组首地址后,C语言可有4种直接访问该数组的第i个元素的方法:“数组名[i]”,“指针名⑴”,“*(指针名+i)”,“*(数组名+i)”。前两种使用了数组的下标,称为“下标法”。后面两种使用指针运算符,称为“指针法”。如:inta[10],*p=a;贝h对数组元素a[i](0〈二i〈二9)有四种等价访问方法:a[i]或p[i](下标法);*(a+i)或*(p+i)(指针法)例如:以下程序冇两个功能完成的函数(计算数组屮各元素值的总和)。intsuml(int

6、a[],intn)/*函数1*/{intsum二0,*p,*q=a+n;for(p=a;p

7、,说明suml()与sum2()功能完成相同,从表面看來,函数2似乎比函数1简单、直观,但其执行速度suml比suni2要快,效率要高。2.字符串与指针访问一个字符串,除了用字符数组外,还可以定义一个字符指针,用字符指针指向字符串中的字符。如:char*p二“CProgram";这样,可以方便地用字符指针P来处理字符串。如:打印图案:*******^7^^7^^7^下面3个程序都能实现”程序1:main(){inti,j;for(i=l;i<=5;i++){for(j=l;j〈二i;j++)printf(“

8、*”);程序2:Voidgra(intn){intj;for(j=l;j<=n;j++)printf(“*”);printf(〃〃);}main(){inti;for(i=l;i<=5;i++)gra(i);}程序3:#include“string.h”main(){chara⑸二“*****”,*p;for(p二a;pprintf("%s”,p);}程序1用常用的两重循坏结构实现;程序2在main()函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。