怎样用指针引用一个const数组



有许多人对一些常量数组都不用const进行修饰,而是做为一个变量使用。不说安全问题,如果是对于一个嵌入式系统来说,会对空间造成压力,毕竟ROM一般比RAM大的多。

我问过一些学弟,为什么不用const修饰。他们有些说,他们也尝试过,但是用指针进行引用时,编译器会报错。

编译器是MDK。错误如下。

其实,这是对C语言的不理解造成的。据我所知,解决这个问题的方法至少有如下几种:

1、强制转换

char * a;
const char b[] ={1,2,3,4};
a = (char *)b;


2、因为const修饰的东西是不能改变的,所以我们也可以直接把引用指针声明const,这样指针是可以移动的,但是指针所指的内容是无法修改的

const char * a;
const char b[] ={1,2,3,4};
a = b;
a ++;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值