一个简单数组不能赋值的问题

[复制链接]
4816|10
 楼主| pigeon0411 发表于 2009-8-31 15:06 | 显示全部楼层 |阅读模式
定义了一个全局数组
__align(4) unsigned char upFlag[];

想在函数中为其赋值,并使用,却一直编译出错,通不过:

upFlag[] = {"upgradeOK"};

请问这种方式有什么问题?
lanmp 发表于 2009-8-31 15:22 | 显示全部楼层
只能在初始化时用这样赋值吧
未来是梦 发表于 2009-8-31 15:42 | 显示全部楼层
数组是有边界的。定义的时候要指明大小;
你也可以让编译器帮你确定大小;
char t[] = {"hello"};
t []会被编译器定为6字节;
sklar 发表于 2009-8-31 16:20 | 显示全部楼层
2楼正解
zifeiyuuuu 发表于 2009-8-31 17:01 | 显示全部楼层
初始化不赋值,值默认为0,但是要指明其中有多少个元素
 楼主| pigeon0411 发表于 2009-9-8 17:00 | 显示全部楼层
只能在初始化的时候赋值吗?

不能像int i; 这样的变量,在后期 i = 888;这样赋值?
雁舞白沙 发表于 2009-9-8 21:54 | 显示全部楼层
  1. [img][url][quote][/quote][/url][/img]
bsdc 发表于 2009-9-9 01:05 | 显示全部楼层
alamo2009 发表于 2009-9-9 09:00 | 显示全部楼层
语法错误,应该这样写
upFlag[] = "upgradeOK";
fywx 发表于 2009-9-9 09:13 | 显示全部楼层
定义时需要确定边界的
zbb564833642 发表于 2011-8-25 14:32 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

157

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部