c语言基础教程 第七章 指针

c语言基础教程 第七章 指针

ID:15998797

大小:195.00 KB

页数:48页

时间:2018-08-07

c语言基础教程 第七章  指针_第1页
c语言基础教程 第七章  指针_第2页
c语言基础教程 第七章  指针_第3页
c语言基础教程 第七章  指针_第4页
c语言基础教程 第七章  指针_第5页
资源描述:

《c语言基础教程 第七章 指针》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第七章指针7.1.1什么是指针  指针是一种特殊的变量。它的特殊性表现在哪些地方呢?由于指针是一种变量,它就应该具有变量的三要素:名字、类型和值。于是指针的特殊性就应表现在这兰个要素上。指针的名字与一般变量的规定相同,没有什么特殊的地方。指针的值是某个变量的地址值。因此我们说指针是用来存放某个变量地址值的变量。指针的值与一般变量的值是不同的,这是指针一个特点。这就是说,指针是用来存放某个变量的地址值的,当然被存放地址值的那个变量是已经定义过的,并且被分配了确定的内存地址值的。一个指针存放了哪个变量的地址值,就说该指针指向那个变量。指针的第二个特点就表现在它的

2、类型上,指针的类型是该指针所指向的变量的类型,而不是指针本身值的类型,因为指针本身值是内存的地址值,其类型自然是int型或lang型。而指针的类型是由它所指向的变量的类型决定。由于指针可以指向任何一种类型的变量

3、符,它说明后面的变量不是一般变量,而是指针,并且P是一个int型指针,意味着P所指向的变量是一个int型变量。假定,要指针P指向变量a,由于指针是用来存放变量的地址值的,因此,要将变量a的地址贼给指针P,变量a的地址表示为肠,这里邑是运算符,表示取其后面变量的地址值。如果有   p=&a;   则P是指向变量a的指针。假定a被分配的内存地址是3000h,P和a的关系如下图所示:  图中标明变量a的内存地址为30O0,变量P的内存地址为3500H,变量a的值(即内容)为5,而指针P的值为3000H,可见指针P是用来存放变量a的地址值的。    C语言中关于地址

4、值的表示有如下规定:   (1)一般变量的地址值用变量名前加运算符&表示。例如,变量x的地址值为&x等。   (2)数组的地址值可用数组名表示,数组名表示该数组的首元素的地址值。数值中某个元   素的地址值用&,运算符加上数组元素名。例如:   inta[10],*p1,*p2;   P1=a;   p2=&a[5];   这里,*p1和*p2是指向int型变量的指针,pl=a;表示指针P1指向a数组的首元素;P2=&a[5];表示指针p2指向数组a的数组元素a[5]的指针。   (3)函数的地址值用该函数的函数名来表示,指向函数的指针可用它所指向的函数名来

5、赋值。   (4)结构变量的指针用尽运算符加结构变量名来表示,结构变量的成员的地址也用邑运   算符加结构变量的成员名来表示。关于结构变量和结构变量的成员将在"结构"一章中讲解。   关于&运算符的用法需要注意的是它可以作用在一般变量名前、数组元素名前、结构变量名前和结构成员名前等,而不能作用在数组名前,也不能作用在表达式前和常量前。   综上所述,对指针的含意应作如下理解:指针是一种不同于一般变量的特殊变量,它是用来存放某个变量的地址值的,它存放哪个变量的地址就称它是指向那个变量的指针。指针的类型不是它本身值的类型,而是它所指向的变量的类型。简单地说,对指

6、针应记住如下两点:   (1)指针的值是地址值。   (2)指针的类型是它的所指向变量的类型。7.1.2指针的表示  在明确了指针的含意以后,接着要学会正确地表示指针。   它在表示上也有差别。应记住各种不同类型指针的表示。   (1)指向基本类型变量的指针表示如下:   ①指向int型变量的指针。例如:   int *pI,p2;   这里,P1和p2是两个指向整型变量的指针,p1和p2前的*是表示指针的说明符。   ②指向。har型变量的指针,例如:   char*pcl,*pc2;   这里,pcl和pc2是两个指向字符型变量的指针。   ③指向flo

7、at型变量的指针,例如:   float*pf1,*pf2,   double*pdl,pd2;   这里,pfl和pf2是两个指向单精度浮点型变量的指针。pdl和pd2是两个指向双精度浮点型变量的指针。   (2)指向数组的指针表示如下:   ①一般地,认为指向数组的指针就是指向该数组首元素的指针,例如:   inta[5][3],(*pa)[3];   其中,a是一个二维数组的数组名,pa是一个指向数组的指针名。pa是一个指向每列有3个元素的二维数组的指针。例如,   Pa=a;   则表示指针pa指向二维数组a指向数组的指针的表示与指针数组的表示很相似

8、,使用时要注意其区别。例如:   floatm[3]

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

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

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