漫谈C指针第五讲---声明指针常量

来源:互联网 发布:软件原型设计 编辑:程序博客网 时间:2024/06/05 22:59

请再看下面的代码:

#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("%d\n", *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 0