打印

请教一个CCS C编译问题

[复制链接]
2142|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xujian5607|  楼主 | 2009-5-11 16:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位老师:我在学CCS C编译器时发现:当在程序空间设置一个常量数组如:const char s[15] = {"this is a test"}时,如设一个指针变量:char *ptr,当想试用该指针查找上面数组元素时,如写上:ptr = s;的初始化语句时,在编译时该语句会出错,而把const char s[15] = {"this is a test"};语句改为不在程序空间设置(即:char s[15] = {"this is a test"};)时,ptr = s;语句就编译通过了,这是为什么?
沙发
yewuyi| | 2009-5-11 16:18 | 只看该作者

因为char *ptr的定义决定了指针是指向了RAM

但S被定义到了ROM,所以就报错了。

如下看看行不行:
const char *ptr=s;

使用特权

评论回复
板凳
lanyong| | 2009-5-12 09:06 | 只看该作者

我来看看

很就以前看ccs的手册说不支持常数指针.

不知道现在版本的是否可以.

使用特权

评论回复
地板
xujian5607|  楼主 | 2009-5-12 16:23 | 只看该作者

一个CCS C编译问题

谢谢2楼,const char *ptr=s;我也试过还是不行.后来看了下CCS手册,3楼说得对,它不支持常数指针.

使用特权

评论回复
5
yewuyi| | 2009-5-12 17:12 | 只看该作者

PICC下是可以使用的,换成PICC的编译器把

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝