聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

漫谈C指针:声明指针常量

2012-10-18 15:00 浏览: 1507820 次 我要评论(0 条) 字号:


请再看下面的代码:


#include "stdio.h"

main()
{
int i, a[] = {3,4,5,6,7,3,7,4,4,6};
int *const pa = a; /* 注意const的位置:不是const int *pa */
for (i = 0; i <= 9; i++)
{
printf("%dn", *pa);
pa++ ; /*注意这里,指针值被修改*/
}
}

这时候的代码能成功编译吗?不能。因为pa指针被定义为常量指针了。这时与数组名a已经没有不同。这更说明了数组名就是常量指针。但是……


int *const a = {3,4,5,6,7,3,7,4,4,6}; /*不行*/
int a[]={3,4,5,6,7,3,7,4,4,6}; /*可以,所以初始化数组时必定要这样。*/


网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复