指针的用法总结

指针的用法总结

ID:46693277

大小:89.00 KB

页数:19页

时间:2019-11-26

指针的用法总结_第1页
指针的用法总结_第2页
指针的用法总结_第3页
指针的用法总结_第4页
指针的用法总结_第5页
资源描述:

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

1、指针的用法总结函数指针的用法总结(让你不再害怕指针)函数指针的用法总结让你不再害怕指针前言:复杂类羽说明要了斛指针,多多少少会出现一些比较复朵的类型,所以我先介绍一下如何完全理解一个复杂类型,耍理解复杂类型具实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,冇优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们先从简单的类型开始慢慢分析吧:intp;//这是一个普通的整型变量int*p;//首先从P处开始,先与*结合,所以说明P是一//个指针,

2、然后再与int结合,说明指针所指向//的内容的类型为int型.所以P是一个返冋整//型数据的指针intp[3];//首先从P处开始,先与□结合,说明P是一个数//组,然后与int结合,说明数组里的元素是整//型的,所以P是一个由整型数据组成的数组irn*p[3];//首先从P处开始,先与[]结合,因为其优先级//比*高,所以P是一•个数组,然后再与*结合,说明//数组里的元索是指针类型,然后再与int结合,//说明指针所指向的内容的类型是整型的,所以//P是-•个由返回整型数据的指针所组成的数组int(*p)[3];//首

3、先从P处开始,先与*结合,说明P是一个指针//然后再与□结合(与〃()〃这步可以忽略,只是为〃了改变优先级),说明指针所指向的内容是一个//数组,然后再与int结合,说明数组里的元素是//整型的•所以P是一个指向由整型数据组成的数〃组的指针int**p;//首先从P开始,先与*结合,说是P是一个指针,然//后再与*结合,说明指针所指向的元索是指针,然//后再与kt结合,说明该指针所指向的元素是整//型数据•由于二级指针以及更高级的指针极少用〃在复杂的类型中,所以后血更复杂的类型我们就〃不考虑多级指针了,最多只考虑一级指针.

4、intp(int);//从P处起,先与()结合,说明P是一个函数,然后进入//()里分析,说明该函数有一个整型变量的参数//然后再与外面的int结合,说明函数的返回值是//一个整型数据Int(*p)(int);〃从P处开始,先与指针结合,说明P是一个指针,然后与//()结合,说明指针指向的是一个函数,然后再与()里的//int结合,说明函数有一个int型的参数,再与最外层的//int结合,说明函数的返冋类型是整型,所以P是一个指//向有一个整型参数且返冋类型为整型的函数的指针int*(*p(int))[3];//可以先跳过

5、,不看这个类型,过于复杂//从P开始,先与()结合,说明P是一个两数,然后进//入()里面,与int结合,说明函数有一个整型变量//参数,然后再与外面的*结合,说明函数返冋的是//一个指针,,然后到最外而一层,先与[]结合,说明//返回的指针指向的是一个数组,然后再与*结合,说〃明数组里的元索是指针,然后再与int结合,说明指〃针指向的内容是整型数据•所以P是一个参数为一个//整数据冃返回一个指向由整型指针变量组成的数纽//的指针变量的函数.说到这里也就差不多了,我们的任务也就这么多,理解了这几个类型,其它的类型对我们来说

6、也是小菜了,不过我们一般不会用太复杂的类型,那样会人人减小程序的可读性,请慎川,这上面的几种类型已经足够我们用了.1、细说指针指针是一个特殊的变量,它里而存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清抬针的四方而的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。让我们分别说明。先芮明几个指针放着做例子:例一:(1)int*ptr;(2)char*ptr;(3)int**ptr;(4)int(*ptr)[3];(5)int*(*ptr)[4];1.指针的类型从语法的

7、角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针木身所具有的类型。让我们看看例一中各个指针的类型:(1)int*ptr;//指针的类型是int*(2)char*ptr;//指针的类型是char*(3)int**ptr;//指针的类型是int**(1)int(*ptr)[3];//指针的类型是int(*)[3](2)int*(*ptr)[4];〃指针的类型是int*(*)[4]怎么样?找出指针的类型的方法是不是很简单?1.指针所指向的类型当你通过指针來访问指针所指向的内存区时,指针所指向的

8、类型决定了编译器将把那片内存区里的内容当做什么來看待。从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:(1)int*ptr;//指针所指向的类型是int(2)char*ptr;//指针所指向的的类型是char(3)int**ptr;//指针所指

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

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

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