浅析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查看全文
