一个语法知识点
int *p;
p[0],p[1],p[2]....
我是不是可以无限制地将p[n]使用下去?
那这样的数组元素在内存中是怎样放的呢?是不是连续的?
请指教一下,谢谢!
[解决办法]
可以 你随便用吧 是连续的
但是很可能你的程序会产生段错误,因为p指向的内存是未知的
可能是不可读写的
[解决办法]
谭浩强书上的一个函数
putw(int i,FILE *fp){char *s;s=&i;putc(s[0],fp);putc(s[1],fp);return;}
[解决办法]
嵌入式系统做这些是非常危险的,因为常常编译系统不报错,运行程序异常,并不一定crash,只要你不去写那块内存。
但是问题是严重的,可能花n个人帮你找这个bug。如果你是底层开发人员,那么上层开发的人一定K你哦。
不过windows和linux这种大系统下,基本上会检查这些问题。app可能就segmentfault,或者MFC提示非法指针。
[解决办法]
bs野指针!不过负责任地告诉你,能!不过最好只读不写