共2条
1/1 1 跳转至页
请问一下全民变局能不能这样使用

问
最新遇到一个问题,是关于全局变量的。
例如:
unsigned x[24],y[24],v[24]; //保存24个坐标和值
我在一个 子函数中要用全局变量的全局变量,例如
void draw(void)
{
unsigned char i;
for(i=0;i<24,i++)
{
clr(x1[i],y[i],v[i]); //清除所有 坐标和值
}
}
但我想,能不能在使用完 draw()涵数以后,释放这个x[i],y[i],v[i]这个空间,在使用draw()之前使这个几个空间有效? 答 1: 51应该是不可能的了,除非用带ARM 答 2: 看不懂了既要这几个单元存在,又想用完让它消失。这不是很矛盾。肯定得有一个内存单元来保护它们 答 3: 既然是全局的,作用域就是全局,如果想释放就用局部变量好了. 答 4: 考慮用聯合吧。 答 5: 自己写个内存管理的程序,然后调用?这样不好把,用局部把 答 6: 那就用联合,在Draw()后把空间给其他的变量用不过你写的时候要小心,弄不好就乱了
例如:
unsigned x[24],y[24],v[24]; //保存24个坐标和值
我在一个 子函数中要用全局变量的全局变量,例如
void draw(void)
{
unsigned char i;
for(i=0;i<24,i++)
{
clr(x1[i],y[i],v[i]); //清除所有 坐标和值
}
}
但我想,能不能在使用完 draw()涵数以后,释放这个x[i],y[i],v[i]这个空间,在使用draw()之前使这个几个空间有效? 答 1: 51应该是不可能的了,除非用带ARM 答 2: 看不懂了既要这几个单元存在,又想用完让它消失。这不是很矛盾。肯定得有一个内存单元来保护它们 答 3: 既然是全局的,作用域就是全局,如果想释放就用局部变量好了. 答 4: 考慮用聯合吧。 答 5: 自己写个内存管理的程序,然后调用?这样不好把,用局部把 答 6: 那就用联合,在Draw()后把空间给其他的变量用不过你写的时候要小心,弄不好就乱了
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
【STM32F769】记一次由于开启D-Cache之后DMA数据传输出错的问题查找与解决被打赏35分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 |