在C语言中如何实现对静态数组分配到指定内存?

fudum 发布于 2016/05/28 11:58
阅读 377
收藏 0

在C语言中定义 static int  stA = (int *)(0x20003000)。可以实现指定内存分配。

如果想实现 static int stA[2] = (int *)(0x20003000)则会出现编译错误。静态数组如何指定分配内存呢?

加载中
0
xpbob
xpbob
数组是连续的一段空间,不能中间改地址,要不你分配的时候算好,要不你用指针数组
0
木兰宿莽
木兰宿莽
你这个static int stA = (int*)(0x20003000); 不知道是几个意思,第二个更不知道是几个意思,将一个整型数强制转为指针类型,然后赋值给整型,编译器会最终隐式转为整型,所以最后无非是给一个static int赋个整型值罢了。
fudum
fudum
这个是在嵌入式系统中,把静态变量分配到0x20003000地址上。
0
fudum
fudum
我已经找到了解决方案,static int * stA = (int *)(0x20003000); stA为静态指针,从0x20003000开始。(基于AducM320开发)
返回顶部
顶部