APP下载

浅析C语言中指针与其他数据的关系*

2012-08-10赵俊峰

长沙大学学报 2012年5期
关键词:定义

赵俊峰

(太原大学外语师范学院,山西 太原 030012)

指针是C语言中的一个非常重要的概念,也是C语言的精华之所在.只有掌握了指针,才能说掌握了C语言.灵活而正确地运用好指针,可以非常方便地表示复杂的数据类型,提高C语言的编程效率.指针即是地址,一个数据对象的指针即是这种数据对象的地址.要真正掌握指针,必须理解指针与变量、指针与数组、指针与字符串、指针与函数、指针与结构体之间的关系.

1 指针与变量的关系

1.1 变量指针

变量的指针即是变量的地址,若有定义:int a;则变量a的地址可以用&a获得(&为取地址运算符).

1.2 指针变量

指针变量即在其中存放地址的变量.指针变量与普通变量不同,普通变量中存放的是值(可以是整数、实数或字符等),而指针变量中存放的是另一个数据对象的地址,即这个指针变量就直接指向了另一个数据对象.要使用指针变量必须经过定义、关联和引用三个阶段.

(1)定义:int a,*p;&&a为普通变量,p为指针变量.

(2)关联:p=&a;&&由于在p中存放了a的地址,指针变量p则指向a.

(3)引用:printf(“%d”,*p);&& 通过*p间接引用 p所指向的变量a.

上述的指针变量p直接指向普通变量,这种变量即为一级指针.若某个指针变量间接指向普通变量,这种指针变量则为二级指针[1].如有定义:int a,*p,**q;则 p 为一级指针,q为二级指针.若有关联:p=&a;q=&p;则q通过p间接地指向了变量a.这时,引用a的方法就有了a、*p、**q这三种形式.

2 指针与一维数组的关系

2.1 一维数组的指针

一维数组的指针即是一维数组的首地址,若有……

登录APP查看全文

猜你喜欢

定义
活用定义巧解统计概率解答题
例谈椭圆的定义及其应用
题在书外 根在书中——圆锥曲线第三定义在教材和高考中的渗透
永远不要用“起点”定义自己
严昊:不定义终点 一直在路上
定义“风格”
成功的定义
有壹手——重新定义快修连锁
修辞学的重大定义
山的定义