C语言中不是指针常量的是,C语言中的指针常量.pdf

2008年第 7期 福 建 电 脑 213

C语言中的指针常量

卓明敏

(赣南教育学院计算机系 江西赣州 341000)

【摘 要】:在C语言中引入指针常量的概念,将指针常量与指针变量统称为指针。字符串常量和字符串变量都是指针

常量。在C语言教学中引入破损数组的概念,区别字符型破损数组与字符型二维数组。这样,指针的概念变得异常清晰。

【关键词】:指针常量;指针变量;字符串常量;破损数组

C语言是计算机基础课程之一.在计算机学科中的占有重 什么是字符串常量?用双引号引起来的一系列字符叫字符

要地位。C语言中的指针在C语言编程过程中使用极为广泛,对 串常量.或叫串~(string litera1)。编译器将字符串常量收集为一

指针的理解直接影响编程技能的发挥。指针是C语言教学的一 个单独的标记 ken),并当作字符型数组存储闭。

个难点.尽管教学过程中着重讲解。但教学效果往往还是不理 字符串常量是字符型指针常量。例如。

想.在一定程度上降低学生学习兴趣,甚至打击学生学习C语言 p~tf(”%c”,”abc” ;

的信心。在十多年的C语言教学过程中发现。C语言中的指针之 中的”abc”就是字符型指针常量。它的值就是其中字符 ,a 的地

所以难教又难学.是因为对指针没有形成清晰的概念,而指针概 址,相当于数组名,”abc’。加上下标’l【2]”后就是其第3个字符,c

念含混不清的根本原因又在于没有引入指针常量。 的地址。所以.这一行代码的输出结果是字符c。这一行代码与

p~tf(”%c”, (”abe”+2);

1、指针常量 等价。指针常量”abe”加上2后为指向其第3个字符,c 的指针

1,l什么是指针常量 常量。因此。这行代码的输出结果也是字母c。

变量的地址就是指针常量(Pointer constant)。程序运行过程 作为指针常量的字符串常量有不可变性。尽管我们可以输

中,变量的地址是不会发生变化的,是常量。比如,用 出字符串常量的部分或全部内容.但因为字符串常量是指针常

int x: 量.在不借助其它变量的情况下。无法只通过字符串本身来修改

定义变量x.地址&x就是一个常量,即指针常量。 其内容。例如,只通过”abe“就无法修改其三个字母中的任何一

数组名都是指针常量。例如.用 个.除非借助其它指针变量。

float a[1O0]; 但要注意.用于初始化字符串数组的字符串不是字符串常

定义数组a,数组名a的值就等于&afO1,实际上也是一个变量的 量.也就不是指针常量。例如。因为

地址.是指针常量。如果再用 char sI~oo]=”ABC’。:

double v[1O111oo]; 等价于

定义一个二维数组,v的值等于&v『o],依然是指针常量。推而广 char s口={,A ,,B,,,C , ,l:

之,无论是几维数组,数组名都是指针常量,它的值就是其第一 所以.其中的”ABC”不是字符串常量,而是字符型数组s的

维第O个元素的地址。 初值的简写形式。

教材【I】中说。”一个变量的地址称为该变量的 指针 。”其中 1.3字符串变量也是指针常量

的”指针”实际上是指针常量 字符串变量实际上是字符型数组名。因为.数组名都是指针

那么。什么是指针变量?教材『l】中说。”存放变量地址的变量 常量。所以,字符串变量是指针常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值